From bab8a8c623e3881242633124526d25226db1986f Mon Sep 17 00:00:00 2001 From: Paul Zhang Date: Wed, 28 Oct 2020 18:11:52 +0800 Subject: [PATCH] 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 --- core/hdd/src/wlan_hdd_regulatory.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/hdd/src/wlan_hdd_regulatory.c b/core/hdd/src/wlan_hdd_regulatory.c index f462c22dff54..5a0f8bf4ae3c 100644 --- a/core/hdd/src/wlan_hdd_regulatory.c +++ b/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); } }