Browse Source

qcacld-3.0: Update vdev mlme object nss after pe_session nss update

The nss value in the "iw <dev_name> link" command and
"iw <dev_name> dump station" is updated from the vdev mlme
object vdev_mlme->proto.generic.nss. This nss value is
updated only from lim_process_assoc_rsp_frame() and
lim_extract_ap_capability() only is the ap nss is less than
the session_nss. In roaming case the session_nss is updated
with the AP nss in lim_populate_peer_rate_set() so in assoc
response path the the global mlme vdev nss is not updated.

Update the vdev mlme object nss in lim_process_assoc_rsp_frame()
from the pe_session.

Change-Id: I2575a591f73ee172a83d4681e5f3134d5c9c60b0
CRs-Fixed: 2525710
Pragaspathi Thilagaraj 5 years ago
parent
commit
7e30ce86c4
1 changed files with 10 additions and 10 deletions
  1. 10 10
      core/mac/src/pe/lim/lim_process_assoc_rsp_frame.c

+ 10 - 10
core/mac/src/pe/lim/lim_process_assoc_rsp_frame.c

@@ -896,12 +896,12 @@ lim_process_assoc_rsp_frame(struct mac_context *mac_ctx,
 			goto assocReject;
 		}
 
-		if (ap_nss < session_entry->nss) {
+		if (ap_nss < session_entry->nss)
 			session_entry->nss = ap_nss;
-			lim_objmgr_update_vdev_nss(mac_ctx->psoc,
-						   session_entry->smeSessionId,
-						   ap_nss);
-		}
+
+		lim_objmgr_update_vdev_nss(mac_ctx->psoc,
+					   session_entry->smeSessionId,
+					   session_entry->nss);
 
 		if ((session_entry->limMlmState ==
 		    eLIM_MLM_WT_FT_REASSOC_RSP_STATE) ||
@@ -989,12 +989,12 @@ lim_process_assoc_rsp_frame(struct mac_context *mac_ctx,
 	if (lim_search_pre_auth_list(mac_ctx, hdr->sa))
 		lim_delete_pre_auth_node(mac_ctx, hdr->sa);
 
-	if (ap_nss < session_entry->nss) {
+	if (ap_nss < session_entry->nss)
 		session_entry->nss = ap_nss;
-		lim_objmgr_update_vdev_nss(mac_ctx->psoc,
-					   session_entry->smeSessionId,
-					   ap_nss);
-	}
+
+	lim_objmgr_update_vdev_nss(mac_ctx->psoc,
+				   session_entry->smeSessionId,
+				   session_entry->nss);
 
 	lim_update_assoc_sta_datas(mac_ctx, sta_ds, assoc_rsp, session_entry);
 	/*