Explorar o código

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 %!s(int64=4) %!d(string=hai) anos
pai
achega
13e650860f
Modificáronse 1 ficheiros con 2 adicións e 2 borrados
  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);
 	}
 }