Răsfoiți Sursa

qcacld-3.0: Avoid race about roam to invalid channel

Currently, when channel list is changed. It updates
the channel list to fw first and then disconnect the
sta. This causes race condition to roam to invalid
channel.

To resolve this, disconnect the sta and then update
channel list.

Change-Id: I12d8098ee6acececc8a574d2b15f5c4774c07936
CRs-Fixed: 2806706
Paul Zhang 4 ani în urmă
părinte
comite
13e650860f
1 a modificat fișierele cu 2 adăugiri și 2 ștergeri
  1. 2 2
      core/hdd/src/wlan_hdd_regulatory.c

+ 2 - 2
core/hdd/src/wlan_hdd_regulatory.c

@@ -1572,6 +1572,8 @@ static void __hdd_country_change_work_handle(struct hdd_context *hdd_ctx)
 	 * selection for SAPs
 	 */
 	hdd_country_change_update_sta(hdd_ctx);
+	sme_generic_change_country_code(hdd_ctx->mac_handle,
+					hdd_ctx->reg.alpha2);
 	hdd_country_change_update_sap(hdd_ctx);
 }
 
@@ -1645,8 +1647,6 @@ static void hdd_regulatory_dyn_cbk(struct wlan_objmgr_psoc *psoc,
 	} else {
 		hdd_config_tdls_with_band_switch(hdd_ctx);
 
-		sme_generic_change_country_code(hdd_ctx->mac_handle,
-				hdd_ctx->reg.alpha2);
 		qdf_sched_work(0, &hdd_ctx->country_change_work);
 	}
 }