|
@@ -129,7 +129,7 @@ static void lim_update_stads_htcap(struct mac_context *mac_ctx,
|
|
*/
|
|
*/
|
|
void lim_update_assoc_sta_datas(struct mac_context *mac_ctx,
|
|
void lim_update_assoc_sta_datas(struct mac_context *mac_ctx,
|
|
tpDphHashNode sta_ds, tpSirAssocRsp assoc_rsp,
|
|
tpDphHashNode sta_ds, tpSirAssocRsp assoc_rsp,
|
|
- struct pe_session *session_entry)
|
|
|
|
|
|
+ struct pe_session *session_entry, tSchBeaconStruct *beacon)
|
|
{
|
|
{
|
|
uint32_t phy_mode;
|
|
uint32_t phy_mode;
|
|
bool qos_mode;
|
|
bool qos_mode;
|
|
@@ -186,7 +186,7 @@ void lim_update_assoc_sta_datas(struct mac_context *mac_ctx,
|
|
|
|
|
|
if (IS_DOT11_MODE_HE(session_entry->dot11mode))
|
|
if (IS_DOT11_MODE_HE(session_entry->dot11mode))
|
|
lim_update_stads_he_caps(mac_ctx, sta_ds, assoc_rsp,
|
|
lim_update_stads_he_caps(mac_ctx, sta_ds, assoc_rsp,
|
|
- session_entry);
|
|
|
|
|
|
+ session_entry, beacon);
|
|
|
|
|
|
if (lim_is_sta_he_capable(sta_ds))
|
|
if (lim_is_sta_he_capable(sta_ds))
|
|
he_cap = &assoc_rsp->he_cap;
|
|
he_cap = &assoc_rsp->he_cap;
|
|
@@ -928,7 +928,7 @@ lim_process_assoc_rsp_frame(struct mac_context *mac_ctx,
|
|
lim_is_roam_synch_in_progress(session_entry)) {
|
|
lim_is_roam_synch_in_progress(session_entry)) {
|
|
pe_debug("Sending self sta");
|
|
pe_debug("Sending self sta");
|
|
lim_update_assoc_sta_datas(mac_ctx, sta_ds, assoc_rsp,
|
|
lim_update_assoc_sta_datas(mac_ctx, sta_ds, assoc_rsp,
|
|
- session_entry);
|
|
|
|
|
|
+ session_entry, NULL);
|
|
lim_update_stads_ext_cap(mac_ctx, session_entry,
|
|
lim_update_stads_ext_cap(mac_ctx, session_entry,
|
|
assoc_rsp, sta_ds);
|
|
assoc_rsp, sta_ds);
|
|
/* Store assigned AID for TIM processing */
|
|
/* Store assigned AID for TIM processing */
|
|
@@ -1016,16 +1016,17 @@ lim_process_assoc_rsp_frame(struct mac_context *mac_ctx,
|
|
session_entry->smeSessionId,
|
|
session_entry->smeSessionId,
|
|
session_entry->nss);
|
|
session_entry->nss);
|
|
|
|
|
|
- lim_update_assoc_sta_datas(mac_ctx, sta_ds, assoc_rsp, session_entry);
|
|
|
|
/*
|
|
/*
|
|
* Extract the AP capabilities from the beacon that
|
|
* Extract the AP capabilities from the beacon that
|
|
* was received earlier
|
|
* was received earlier
|
|
- */
|
|
|
|
|
|
+ */
|
|
ie_len = lim_get_ielen_from_bss_description(
|
|
ie_len = lim_get_ielen_from_bss_description(
|
|
&session_entry->lim_join_req->bssDescription);
|
|
&session_entry->lim_join_req->bssDescription);
|
|
lim_extract_ap_capabilities(mac_ctx,
|
|
lim_extract_ap_capabilities(mac_ctx,
|
|
(uint8_t *)session_entry->lim_join_req->bssDescription.ieFields,
|
|
(uint8_t *)session_entry->lim_join_req->bssDescription.ieFields,
|
|
ie_len, beacon);
|
|
ie_len, beacon);
|
|
|
|
+ lim_update_assoc_sta_datas(mac_ctx, sta_ds, assoc_rsp,
|
|
|
|
+ session_entry, beacon);
|
|
|
|
|
|
if (lim_is_session_he_capable(session_entry)) {
|
|
if (lim_is_session_he_capable(session_entry)) {
|
|
session_entry->mu_edca_present = assoc_rsp->mu_edca_present;
|
|
session_entry->mu_edca_present = assoc_rsp->mu_edca_present;
|