From 36626e4fadf97a34fd78b18102105a4d1d792362 Mon Sep 17 00:00:00 2001 From: Jianmin Zhu Date: Wed, 23 Oct 2019 13:02:01 +0800 Subject: [PATCH] qcacld-3.0: Fix SAP force scc failed after STA channel switch After STA channel switch, when SAP try to force scc with STA, race condition issue happens sometimes between mc thread and sap restart thread, hdd_ctx->roaming_in_progress isn't cleared when check roaming status in hdd_softap_set_channel_change, so channel switch failed. Fix: change order, make sure hdd_set_roaming_in_progress(false) happens before policy_mgr_check_concurrent_intf_and_restart_sap. Change-Id: I1146eb665941fe0beb8f6165272f32ac8f7e74f2 CRs-Fixed: 2549571 --- core/sme/src/csr/csr_api_roam.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c index cad241e0599c..592b8bd50e57 100644 --- a/core/sme/src/csr/csr_api_roam.c +++ b/core/sme/src/csr/csr_api_roam.c @@ -21562,14 +21562,14 @@ static QDF_STATUS csr_process_roam_sync_callback(struct mac_context *mac_ctx, } policy_mgr_check_n_start_opportunistic_timer(mac_ctx->psoc); + csr_roam_call_callback(mac_ctx, session_id, NULL, 0, + eCSR_ROAM_SYNCH_COMPLETE, + eCSR_ROAM_RESULT_SUCCESS); policy_mgr_check_concurrent_intf_and_restart_sap(mac_ctx->psoc); if (roam_synch_data->authStatus == CSR_ROAM_AUTH_STATUS_AUTHENTICATED) csr_roam_update_cfg(mac_ctx, session_id, REASON_CONNECT); - csr_roam_call_callback(mac_ctx, session_id, NULL, 0, - eCSR_ROAM_SYNCH_COMPLETE, - eCSR_ROAM_RESULT_SUCCESS); vdev_roam_params->roam_invoke_in_progress = false; goto end; case SIR_ROAMING_DEAUTH: