From cb101f25b8bca2aa86bf72ee5069f2133f390cf5 Mon Sep 17 00:00:00 2001 From: Abhishek Singh Date: Wed, 31 Jan 2018 10:55:44 +0530 Subject: [PATCH] qcacld-3.0: Do not send Assoc failure before initiating disconnect In Roam invoke failure the SME send Assoc failure to HDD layer and schedule a disconnect. Assoc failure indicate the disconnection to supplicant and supplicant send a new connect command, which will change some state in HDD, and post the command in SME. But during same time the disconnect from roam invoke failure change the state of HDD and supplicant to disconnected and SME continue to connect. The success is not send to supplicant and no EAPOL exchanges is started by supplicant which is in disconnected state. This lead to driver stuck in wait for key state and no SME commands are allowed. To fix this do not send Assoc failure before initiating disconnect as disconnect will anyway take care of the cleanup. Change-Id: Ie6de1de41a9eeed71530f1b2516b01e7839dac82 CRs-Fixed: 2181528 --- core/sme/src/csr/csr_api_roam.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c index 406a62ebf999..bdcd55e4a96c 100644 --- a/core/sme/src/csr/csr_api_roam.c +++ b/core/sme/src/csr/csr_api_roam.c @@ -21313,10 +21313,6 @@ static QDF_STATUS csr_process_roam_sync_callback(tpAniSirGlobal mac_ctx, eCSR_ROAM_NAPI_OFF, eCSR_ROAM_RESULT_SUCCESS); return status; case SIR_ROAMING_INVOKE_FAIL: - csr_roam_call_callback(mac_ctx, session_id, NULL, 0, - eCSR_ROAM_ASSOCIATION_FAILURE, - eCSR_ROAM_RESULT_INVOKE_FAILED); - /* Userspace roam request failed, disconnect with current AP */ sme_debug("LFR3: roam invoke from user-space fail, dis cur AP"); csr_roam_disconnect(mac_ctx, session_id,