Bladeren bron

qcacld-3.0: Update params to PE session entry on roam

On roam, obss scan params, sta ext capabilites and
qos map set are not updated to pe session entry
before returning from lim_process_assoc_rsp_frame.

Fix is to copy QoS map set, update obss scan params and
sta ext capabilities in PE session entry before return.

Change-Id: Iad35491c04452b6d459dde94713fc9c627c098e1
CRs-Fixed: 2007784
yeshwanth sriram guntuka 8 jaren geleden
bovenliggende
commit
58bbcf8d91
1 gewijzigde bestanden met toevoegingen van 14 en 11 verwijderingen
  1. 14 11
      core/mac/src/pe/lim/lim_process_assoc_rsp_frame.c

+ 14 - 11
core/mac/src/pe/lim/lim_process_assoc_rsp_frame.c

@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (c) 2011-2016 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2011-2017 The Linux Foundation. All rights reserved.
  *
  *
  * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
  * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
  *
  *
@@ -853,6 +853,17 @@ lim_process_assoc_rsp_frame(tpAniSirGlobal mac_ctx,
 			return;
 			return;
 		}
 		}
 	}
 	}
+
+	if (assoc_rsp->QosMapSet.present)
+		qdf_mem_copy(&session_entry->QosMapSet,
+			&assoc_rsp->QosMapSet, sizeof(tSirQosMapSet));
+	 else
+		qdf_mem_zero(&session_entry->QosMapSet, sizeof(tSirQosMapSet));
+
+	if (assoc_rsp->obss_scanparams.present)
+		lim_update_obss_scanparams(session_entry,
+				&assoc_rsp->obss_scanparams);
+
 	if (subtype == LIM_REASSOC) {
 	if (subtype == LIM_REASSOC) {
 		lim_log
 		lim_log
 		(mac_ctx, LOG1, FL("Successfully Reassociated with BSS"));
 		(mac_ctx, LOG1, FL("Successfully Reassociated with BSS"));
@@ -900,6 +911,8 @@ lim_process_assoc_rsp_frame(tpAniSirGlobal mac_ctx,
 			lim_log(mac_ctx, LOG1, FL("Sending self sta"));
 			lim_log(mac_ctx, LOG1, FL("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);
+			lim_update_stads_ext_cap(mac_ctx, session_entry,
+						 assoc_rsp, sta_ds);
 			/* Store assigned AID for TIM processing */
 			/* Store assigned AID for TIM processing */
 			session_entry->limAID = assoc_rsp->aid & 0x3FFF;
 			session_entry->limAID = assoc_rsp->aid & 0x3FFF;
 			/* Downgrade the EDCA parameters if needed */
 			/* Downgrade the EDCA parameters if needed */
@@ -1019,16 +1032,6 @@ lim_process_assoc_rsp_frame(tpAniSirGlobal mac_ctx,
 	lim_diag_event_report(mac_ctx, WLAN_PE_DIAG_CONNECTED, session_entry,
 	lim_diag_event_report(mac_ctx, WLAN_PE_DIAG_CONNECTED, session_entry,
 			      eSIR_SUCCESS, eSIR_SUCCESS);
 			      eSIR_SUCCESS, eSIR_SUCCESS);
 #endif
 #endif
-	if (assoc_rsp->obss_scanparams.present)
-		lim_update_obss_scanparams(session_entry,
-				&assoc_rsp->obss_scanparams);
-
-	if (assoc_rsp->QosMapSet.present)
-		qdf_mem_copy(&session_entry->QosMapSet,
-			&assoc_rsp->QosMapSet, sizeof(tSirQosMapSet));
-	 else
-		qdf_mem_zero(&session_entry->QosMapSet, sizeof(tSirQosMapSet));
-
 	lim_update_stads_ext_cap(mac_ctx, session_entry, assoc_rsp, sta_ds);
 	lim_update_stads_ext_cap(mac_ctx, session_entry, assoc_rsp, sta_ds);
 	/* Update the BSS Entry, this entry was added during preassoc. */
 	/* Update the BSS Entry, this entry was added during preassoc. */
 	if (eSIR_SUCCESS == lim_sta_send_add_bss(mac_ctx, assoc_rsp,
 	if (eSIR_SUCCESS == lim_sta_send_add_bss(mac_ctx, assoc_rsp,