diff options
| author | Srinivas Girigowda <sgirigow@qca.qualcomm.com> | 2014-01-15 20:50:58 -0800 |
|---|---|---|
| committer | Prakash Dhavali <pdhavali@qca.qualcomm.com> | 2014-01-26 00:53:52 -0800 |
| commit | e47f31f9ea266a251b3279ccc381fc1db01bc068 (patch) | |
| tree | 867a850cf353267afa95a2954d8e7ff32219c387 | |
| parent | 87f9430f62ff783a1bf946bbc7d7c3fbba81370a (diff) | |
wlan: qcacld: Fix for wifi cannot connect network after wake up.
when used shared key auth with the AP which is not configured
properly DUT is stuck in bad state. This commit helps recover
the issue.
Change-Id: I33bc7bcf0902fb8e4445ea73111ec20010e5eb9f
CRs-Fixed: 600252
| -rw-r--r-- | CORE/SME/src/csr/csrApiRoam.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/CORE/SME/src/csr/csrApiRoam.c b/CORE/SME/src/csr/csrApiRoam.c index 789f8451bcb7..b5d103c25cd9 100644 --- a/CORE/SME/src/csr/csrApiRoam.c +++ b/CORE/SME/src/csr/csrApiRoam.c @@ -10339,6 +10339,7 @@ void csrRoamWaitForKeyTimeOutHandler(void *pv) tCsrTimerInfo *pInfo = (tCsrTimerInfo *)pv; tpAniSirGlobal pMac = pInfo->pMac; tCsrRoamSession *pSession = CSR_GET_SESSION( pMac, pInfo->sessionId ); + eHalStatus status = eHAL_STATUS_FAILURE; smsLog(pMac, LOGW, "WaitForKey timer expired in state=%d sub-state=%d", pMac->roam.neighborRoamInfo.neighborRoamState, @@ -10376,6 +10377,21 @@ void csrRoamWaitForKeyTimeOutHandler(void *pv) { csrRoamLinkUp(pMac, pSession->connectedProfile.bssid); smeProcessPendingQueue(pMac); + if ((pSession->connectedProfile.AuthType == + eCSR_AUTH_TYPE_SHARED_KEY) && + ((pSession->connectedProfile.EncryptionType == + eCSR_ENCRYPT_TYPE_WEP40) || + (pSession->connectedProfile.EncryptionType == + eCSR_ENCRYPT_TYPE_WEP104))) + { + status = sme_AcquireGlobalLock(&pMac->sme); + if (HAL_STATUS_SUCCESS(status )) + { + csrRoamDisconnect(pMac, pInfo->sessionId, + eCSR_DISCONNECT_REASON_UNSPECIFIED); + sme_ReleaseGlobalLock(&pMac->sme); + } + } } else { |
