WLAN: Fix for auth failure
Auth failure observed while multiple connect/disconnect.
Issue happened because of ACK pending for deauth/Disassoc
frames. Once the disassoc/deauth packet was sent P2P-GO was
waiting for the disassoc/deuath packet but the P2P-client
started a new connection and P2P-go had received a new
AUTH request when there was already Disassoc/deauth packet
pending which resulted in Vos_assert.
Change-Id: I3a63755b4edfb29899e486977403e77d195b7ef0
CRs-fixed: 517924
diff --git a/CORE/MAC/src/pe/lim/limProcessAuthFrame.c b/CORE/MAC/src/pe/lim/limProcessAuthFrame.c
index 01b581c..5280483 100644
--- a/CORE/MAC/src/pe/lim/limProcessAuthFrame.c
+++ b/CORE/MAC/src/pe/lim/limProcessAuthFrame.c
@@ -575,14 +575,16 @@
(tANI_U8 *) &pMlmDisassocReq->peerMacAddr,
sizeof(tSirMacAddr))))
{
- PELOGE(limLog(pMac, LOGP, FL("\nTODO:Ack for disassoc frame is pending"
- "Issue delsta for %02x:%02x:%02x:%02x:%02x:%02x"),
+ PELOGE(limLog(pMac, LOGE, FL("\nTODO:Ack for disassoc "
+ "frame is pending Issue delsta for"
+ " %02x:%02x:%02x:%02x:%02x:%02x"),
pMlmDisassocReq->peerMacAddr[0],
pMlmDisassocReq->peerMacAddr[1],
pMlmDisassocReq->peerMacAddr[2],
pMlmDisassocReq->peerMacAddr[3],
pMlmDisassocReq->peerMacAddr[4],
pMlmDisassocReq->peerMacAddr[5]);)
+ limProcessDisassocAckTimeout(pMac);
}
pMlmDeauthReq = pMac->lim.limDisassocDeauthCnfReq.pMlmDeauthReq;
if (pMlmDeauthReq &&
@@ -590,8 +592,9 @@
(tANI_U8 *) &pMlmDeauthReq->peerMacAddr,
sizeof(tSirMacAddr))))
{
- PELOGE(limLog(pMac, LOGP, FL("\nTODO:Ack for disassoc frame is pending"
- "Issue delsta for %02x:%02x:%02x:%02x:%02x:%02x"),
+ PELOGE(limLog(pMac, LOGE, FL("\nTODO:Ack for deauth frame "
+ "is pending Issue delsta for "
+ "%02x:%02x:%02x:%02x:%02x:%02x"),
pMlmDeauthReq->peerMacAddr[0],
pMlmDeauthReq->peerMacAddr[1],
pMlmDeauthReq->peerMacAddr[2],
@@ -599,6 +602,7 @@
pMlmDeauthReq->peerMacAddr[4],
pMlmDeauthReq->peerMacAddr[5]
);)
+ limProcessDeauthAckTimeout(pMac);
}
}