summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNitesh Shah <niteshs@codeaurora.org>2016-12-07 20:06:08 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2016-12-13 06:49:34 -0800
commit191c85d0b4ea47b0107429f40725067f13f1bdd5 (patch)
tree9afe89ee91b0b814e3a1895d9aedf066fe1ed1b6
parent79bbd593e5846b7bf715db4889a097c355a3b357 (diff)
qcacld-2.0: Disconnect AP on beacon change in csr scanning state
If the CSR state of the STA changes eCSR_ROAMING_STATE_SCANNING. And the same time when the AP changes its capability, the STA gets the beacon and detects that the beacon is changed. In this case, the STA is unable to disassociate with the AP. The fix is to disconnect even when the change in beacon is detected, and CSR state is in eCSR_ROAMING_STATE_SCANNING. Change-Id: I884fc936f543ad56cdb74b50d568f52f4d80ad79 CRs-Fixed: 1098370
-rw-r--r--CORE/SME/src/csr/csrApiRoam.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/CORE/SME/src/csr/csrApiRoam.c b/CORE/SME/src/csr/csrApiRoam.c
index 954a30aab316..195b8cebb87f 100644
--- a/CORE/SME/src/csr/csrApiRoam.c
+++ b/CORE/SME/src/csr/csrApiRoam.c
@@ -10837,11 +10837,12 @@ void csrRoamCheckForLinkStatusChange( tpAniSirGlobal pMac, tSirSmeRsp *pSirMsg )
status = csrRoamGetSessionIdFromBSSID( pMac, (tCsrBssid *)pApNewCaps->bssId, &sessionId );
if( HAL_STATUS_SUCCESS( status ) )
{
- if ((eCSR_ROAMING_STATE_JOINED == pMac->roam.curState[sessionId]) &&
+ if (((eCSR_ROAMING_STATE_JOINED == pMac->roam.curState[sessionId]) &&
((eCSR_ROAM_SUBSTATE_JOINED_REALTIME_TRAFFIC == pMac->roam.curSubState[sessionId]) ||
(eCSR_ROAM_SUBSTATE_NONE == pMac->roam.curSubState[sessionId]) ||
(eCSR_ROAM_SUBSTATE_JOINED_NON_REALTIME_TRAFFIC == pMac->roam.curSubState[sessionId]) ||
- (eCSR_ROAM_SUBSTATE_JOINED_NO_TRAFFIC == pMac->roam.curSubState[sessionId]))
+ (eCSR_ROAM_SUBSTATE_JOINED_NO_TRAFFIC == pMac->roam.curSubState[sessionId]))) ||
+ (eCSR_ROAMING_STATE_SCANNING == pMac->roam.curState[sessionId])
)
{
smsLog(pMac, LOGW, "Calling csrRoamDisconnectInternal");