diff options
| author | Rajeev Kumar <rajekuma@qca.qualcomm.com> | 2014-03-02 13:27:00 -0800 |
|---|---|---|
| committer | Akash Patel <c_akashp@qca.qualcomm.com> | 2014-03-03 10:38:27 -0800 |
| commit | 6bfba9c2efa8dd2ca11a63f9a0da5252d5a96ffe (patch) | |
| tree | 3dac38cdad09453137818c6999a5c25242cf2d38 | |
| parent | 33f44dcc89604242c2f6b23221c42d27a85056a8 (diff) | |
qcalcd: Fix of scan rejection from HDD
HDD function wlan_hdd_cfg80211_scan() is rejecting scan
because STA context is in connected case and EAPOL exchange
get timed out. After EAPOL exchange getting timedout we should
disconnect the session such HDD is unblocked and can process
subsequent scan requests
Change-Id: Ifb79735a10e489d7ea8c9f34c385b6f0975fe719
CRs-Fixed: 624988
| -rw-r--r-- | CORE/MAC/src/pe/lim/limProcessMlmRspMessages.c | 4 | ||||
| -rw-r--r-- | CORE/SME/src/csr/csrApiRoam.c | 28 |
2 files changed, 12 insertions, 20 deletions
diff --git a/CORE/MAC/src/pe/lim/limProcessMlmRspMessages.c b/CORE/MAC/src/pe/lim/limProcessMlmRspMessages.c index 53d927eba8cc..696c81796679 100644 --- a/CORE/MAC/src/pe/lim/limProcessMlmRspMessages.c +++ b/CORE/MAC/src/pe/lim/limProcessMlmRspMessages.c @@ -3236,7 +3236,7 @@ void limProcessMlmSetStaKeyRsp( tpAniSirGlobal pMac, tpSirMsgQ limMsgQ ) if( eLIM_MLM_WT_SET_STA_KEY_STATE != psessionEntry->limMlmState ) { // Mesg received from HAL in Invalid state! - limLog( pMac, LOGW, FL( "Received unexpected [Mesg Id - %d] in state %X" ), limMsgQ->type, psessionEntry->limMlmState ); + limLog( pMac, LOGE, FL( "Received unexpected [Mesg Id - %d] in state %X" ), limMsgQ->type, psessionEntry->limMlmState ); // There's not much that MLME can do at this stage... respReqd = 0; } @@ -3303,7 +3303,7 @@ void limProcessMlmSetBssKeyRsp( tpAniSirGlobal pMac, tpSirMsgQ limMsgQ ) eLIM_MLM_WT_SET_STA_BCASTKEY_STATE != psessionEntry->limMlmState ) { // Mesg received from HAL in Invalid state! - limLog( pMac, LOGW, FL( "Received unexpected [Mesg Id - %d] in state %X" ), limMsgQ->type, psessionEntry->limMlmState ); + limLog( pMac, LOGE, FL( "Received unexpected [Mesg Id - %d] in state %X" ), limMsgQ->type, psessionEntry->limMlmState ); // There's not much that MLME can do at this stage... respReqd = 0; } diff --git a/CORE/SME/src/csr/csrApiRoam.c b/CORE/SME/src/csr/csrApiRoam.c index 3c11fc7da6cc..15929907d9d5 100644 --- a/CORE/SME/src/csr/csrApiRoam.c +++ b/CORE/SME/src/csr/csrApiRoam.c @@ -10337,7 +10337,7 @@ void csrRoamWaitForKeyTimeOutHandler(void *pv) 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", + smsLog(pMac, LOGE, "WaitForKey timer expired in state=%d sub-state=%d", pMac->roam.neighborRoamInfo.neighborRoamState, pMac->roam.curSubState[pInfo->sessionId]); @@ -10358,7 +10358,7 @@ void csrRoamWaitForKeyTimeOutHandler(void *pv) NULL, eANI_BOOLEAN_FALSE); } #endif - smsLog(pMac, LOGW, " SME pre-auth state timeout. "); + smsLog(pMac, LOGE, " SME pre-auth state timeout. "); //Change the substate so command queue is unblocked. if (CSR_ROAM_SESSION_MAX > pInfo->sessionId) @@ -10373,31 +10373,23 @@ 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 )) { - status = sme_AcquireGlobalLock(&pMac->sme); - if (HAL_STATUS_SUCCESS(status )) - { - csrRoamDisconnect(pMac, pInfo->sessionId, - eCSR_DISCONNECT_REASON_UNSPECIFIED); - sme_ReleaseGlobalLock(&pMac->sme); - } + csrRoamDisconnect(pMac, pInfo->sessionId, + eCSR_DISCONNECT_REASON_UNSPECIFIED); + sme_ReleaseGlobalLock(&pMac->sme); } } else { - smsLog(pMac, LOGW, "%s: could not post link up", - __func__); + smsLog(pMac, LOGE, "%s: Session id %d is disconnected", + __func__, pInfo->sessionId); } } else { - smsLog(pMac, LOGW, "%s: session not found", __func__); + smsLog(pMac, LOGE, "%s: session not found", __func__); } } |
