diff options
| author | Hong Shi <hongsh@codeaurora.org> | 2018-08-28 15:13:32 +0800 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2018-08-28 01:39:54 -0700 |
| commit | 88dd18dba0cd4e08c206e0d7469c3eb14e68ee5e (patch) | |
| tree | 43551237ad2b17d8a01fdd16ca886ce93b7f8cf1 | |
| parent | 95c63cc58f8c7ad93059e3036da3fcce1fc9f43b (diff) | |
qcacld-2.0: Fix race condition between kickout and disconnect
There's race condition between kickout event and disconnect command. It
cause disconnect_comp_var is not completed properly. Add check in
limTearDownLinkWithAp to eliminate the race condition.
Change-Id: Iebe98911cc41e8b33f8f403b75c79a75a38ca0a6
CRs-Fixed: 2304261
| -rw-r--r-- | CORE/MAC/src/pe/lim/limLinkMonitoringAlgo.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/CORE/MAC/src/pe/lim/limLinkMonitoringAlgo.c b/CORE/MAC/src/pe/lim/limLinkMonitoringAlgo.c index 901f4aa2dd5b..556252574d17 100644 --- a/CORE/MAC/src/pe/lim/limLinkMonitoringAlgo.c +++ b/CORE/MAC/src/pe/lim/limLinkMonitoringAlgo.c @@ -374,6 +374,12 @@ limTearDownLinkWithAp(tpAniSirGlobal pMac, tANI_U8 sessionId, tSirMacReasonCodes { tLimMlmDeauthInd mlmDeauthInd; + if (pStaDs->mlmStaContext.disassocReason == eSIR_MAC_DEAUTH_LEAVING_BSS_REASON || + pStaDs->mlmStaContext.cleanupTrigger == eLIM_HOST_DEAUTH) { + limLog(pMac, LOGE, + FL("Host already issued deauth, do nothing.\n")); + return; + } #ifdef FEATURE_WLAN_TDLS /* Delete all TDLS peers connected before leaving BSS*/ limDeleteTDLSPeers(pMac, psessionEntry); |
