WLAN: Handle De-auth Frame After Pre-Authentication

Fix to handle a de-authentication frame from AP2 while roaming from AP1 to AP2

CRs-Fixed: 438700
Change-Id: I20fbf8eada2f0cfb514fb2ce99cb6afd7a3ea7af
diff --git a/CORE/MAC/src/pe/lim/limProcessDeauthFrame.c b/CORE/MAC/src/pe/lim/limProcessDeauthFrame.c
index 1be3e0d..c4faa9f 100644
--- a/CORE/MAC/src/pe/lim/limProcessDeauthFrame.c
+++ b/CORE/MAC/src/pe/lim/limProcessDeauthFrame.c
@@ -92,6 +92,8 @@
     tLimMlmAssocCnf   mlmAssocCnf;
     tLimMlmDeauthInd  mlmDeauthInd;
     tpDphHashNode     pStaDs;
+    tpPESession       pRoamSessionEntry=NULL;
+    tANI_U8           roamSessionId;
 
 
     pHdr = WDA_GET_RX_MAC_HEADER(pRxPacketInfo);
@@ -216,7 +218,11 @@
      *     AP we're currently associated with (case a), then proceed
      *     with normal deauth processing. 
      */
-    if (limIsReassocInProgress(pMac,psessionEntry)) {
+    if ( psessionEntry->limReAssocbssId!=NULL )
+    {
+        pRoamSessionEntry = peFindSessionByBssid(pMac, psessionEntry->limReAssocbssId, &roamSessionId);
+    }
+    if (limIsReassocInProgress(pMac,psessionEntry) || limIsReassocInProgress(pMac,pRoamSessionEntry)) {
         if (!IS_REASSOC_BSSID(pMac,pHdr->sa,psessionEntry)) {
             PELOGE(limLog(pMac, LOGE, FL("Rcv Deauth from unknown/different AP while ReAssoc. Ignore \n"));)
             limPrintMacAddr(pMac, pHdr->sa, LOGE);