wlan: Processing Deauth in eLIM_MLM_WT_ADD_STA_RSP_STATE
Currently DEAUTH is not getting processed in mlm state with
eLIM_MLM_WT_ADD_STA_RSP_STATE.
CRs-Fixed: 516813
Change-Id: I0ed779f73a5124ba06ebefad7d27046b3f46cf05
diff --git a/CORE/MAC/src/pe/lim/limProcessMlmRspMessages.c b/CORE/MAC/src/pe/lim/limProcessMlmRspMessages.c
index c495ac6..531ed57 100644
--- a/CORE/MAC/src/pe/lim/limProcessMlmRspMessages.c
+++ b/CORE/MAC/src/pe/lim/limProcessMlmRspMessages.c
@@ -1868,9 +1868,16 @@
limLog( pMac, LOGE, FL( "Encountered NULL Pointer" ));
return;
}
- if( eHAL_STATUS_SUCCESS == pAddStaParams->status )
+ if (true == psessionEntry->fDeauthReceived)
{
- if( eLIM_MLM_WT_ADD_STA_RSP_STATE != psessionEntry->limMlmState)
+ PELOGE(limLog(pMac, LOGE,
+ FL("Received Deauth frame in ADD_STA_RESP state"));)
+ pAddStaParams->status = eHAL_STATUS_FAILURE;
+ }
+
+ if ( eHAL_STATUS_SUCCESS == pAddStaParams->status )
+ {
+ if ( eLIM_MLM_WT_ADD_STA_RSP_STATE != psessionEntry->limMlmState)
{
//TODO: any response to be sent out here ?
limLog( pMac, LOGE,
@@ -1940,6 +1947,10 @@
/* Updating PE session Id*/
mlmAssocCnf.sessionId = psessionEntry->peSessionId;
limPostSmeMessage( pMac, mesgType, (tANI_U32 *) &mlmAssocCnf );
+ if (true == psessionEntry->fDeauthReceived)
+ {
+ psessionEntry->fDeauthReceived = false;
+ }
return;
}
void limProcessMlmDelBssRsp( tpAniSirGlobal pMac, tpSirMsgQ limMsgQ,tpPESession psessionEntry)