Переглянути джерело

qcacld-3.0: Reset and update session nss value after roaming

In LFR3 roaming, session->nss is recomputed by starting with mac_ctx
configured value, then lim_fill_ft_session() trims it based on
AP's capability in the beacon. Then lim_ft_prepare_add_bss_req() modifies
it based on dot11mode if necessary.

CRs-Fixed: 2082240
Change-Id: If9841ea8d10cc1269ec118c9e7f75fa0444abe3e
Deepak Dhamdhere 7 роки тому
батько
коміт
a7987a2ed1
1 змінених файлів з 5 додано та 2 видалено
  1. 5 2
      core/mac/src/pe/lim/lim_api.c

+ 5 - 2
core/mac/src/pe/lim/lim_api.c

@@ -2128,8 +2128,7 @@ QDF_STATUS pe_roam_synch_callback(tpAniSirGlobal mac_ctx,
 	sir_copy_mac_addr(session_ptr->limReAssocbssId, bss_desc->bssId);
 	ft_session_ptr->csaOffloadEnable = session_ptr->csaOffloadEnable;
 
-	lim_fill_ft_session(mac_ctx, bss_desc, ft_session_ptr, session_ptr);
-
+	/* Assign default configured nss value in the new session */
 	if (IS_5G_CH(ft_session_ptr->currentOperChannel))
 		ft_session_ptr->vdev_nss = mac_ctx->vdev_type_nss_5g.sta;
 	else
@@ -2137,6 +2136,10 @@ QDF_STATUS pe_roam_synch_callback(tpAniSirGlobal mac_ctx,
 
 	ft_session_ptr->nss = ft_session_ptr->vdev_nss;
 
+	/* Next routine will update nss and vdev_nss with AP's capabilities */
+	lim_fill_ft_session(mac_ctx, bss_desc, ft_session_ptr, session_ptr);
+
+	/* Next routine may update nss based on dot11Mode */
 	lim_ft_prepare_add_bss_req(mac_ctx, false, ft_session_ptr, bss_desc);
 	roam_sync_ind_ptr->add_bss_params =
 		(tpAddBssParams) ft_session_ptr->ftPEContext.pAddBssReq;