summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRajeev Kumar <rajekuma@qca.qualcomm.com>2014-03-02 13:27:00 -0800
committerAkash Patel <c_akashp@qca.qualcomm.com>2014-03-03 10:38:27 -0800
commit6bfba9c2efa8dd2ca11a63f9a0da5252d5a96ffe (patch)
tree3dac38cdad09453137818c6999a5c25242cf2d38
parent33f44dcc89604242c2f6b23221c42d27a85056a8 (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.c4
-rw-r--r--CORE/SME/src/csr/csrApiRoam.c28
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__);
}
}