SCAN-OFFLOAD: Changes required to process the scan results.

Changes required to process the probe response and beacons frames
when scan offload is enabled.

Change-Id: I5e94f2dd823c8c442100831c5c19d01753de80a6
CRs-fixed: 500914
diff --git a/CORE/MAC/src/pe/lim/limProcessBeaconFrame.c b/CORE/MAC/src/pe/lim/limProcessBeaconFrame.c
index bebfa11..45a2339 100644
--- a/CORE/MAC/src/pe/lim/limProcessBeaconFrame.c
+++ b/CORE/MAC/src/pe/lim/limProcessBeaconFrame.c
@@ -102,9 +102,11 @@
            WDA_GET_RX_MPDU_LEN(pRxPacketInfo));
     limPrintMacAddr(pMac, pHdr->sa, LOG2);)
 
-    if (limDeactivateMinChannelTimerDuringScan(pMac) != eSIR_SUCCESS)
-        return;
-
+    if (!pMac->fScanOffload)
+    {
+        if (limDeactivateMinChannelTimerDuringScan(pMac) != eSIR_SUCCESS)
+            return;
+    }
 
     /**
      * Expect Beacon only when
@@ -116,7 +118,9 @@
     if ((pMac->lim.gLimMlmState == eLIM_MLM_WT_PROBE_RESP_STATE) ||
         (pMac->lim.gLimMlmState == eLIM_MLM_PASSIVE_SCAN_STATE) ||
         (pMac->lim.gLimMlmState == eLIM_MLM_LEARN_STATE) ||
-        (psessionEntry->limMlmState == eLIM_MLM_WT_JOIN_BEACON_STATE))
+        (psessionEntry->limMlmState == eLIM_MLM_WT_JOIN_BEACON_STATE)
+        || pMac->fScanOffload
+        )
     {
         if(eHAL_STATUS_SUCCESS != palAllocateMemory(pMac->hHdd, 
                                                     (void **)&pBeacon, sizeof(tSchBeaconStruct)))
@@ -153,6 +157,12 @@
         MTRACE(macTrace(pMac, TRACE_CODE_RX_MGMT_TSF, 0, pBeacon->timeStamp[0]);)
         MTRACE(macTrace(pMac, TRACE_CODE_RX_MGMT_TSF, 0, pBeacon->timeStamp[1]);)
 
+        if (pMac->fScanOffload)
+        {
+            limCheckAndAddBssDescription(pMac, pBeacon, pRxPacketInfo,
+                    eANI_BOOLEAN_FALSE, eANI_BOOLEAN_TRUE);
+
+        }
 
         if ((pMac->lim.gLimMlmState  == eLIM_MLM_WT_PROBE_RESP_STATE) ||
             (pMac->lim.gLimMlmState  == eLIM_MLM_PASSIVE_SCAN_STATE))
@@ -169,7 +179,7 @@
         else if (pMac->lim.gLimMlmState == eLIM_MLM_LEARN_STATE)
         {
         }
-        else
+        else if (psessionEntry->limMlmState == eLIM_MLM_WT_JOIN_BEACON_STATE)
         {
             if( psessionEntry->beacon != NULL )
             {
@@ -249,9 +259,11 @@
            WDA_GET_RX_MPDU_LEN(pRxPacketInfo));
     limPrintMacAddr(pMac, pHdr->sa, LOG2);
 
-    if (limDeactivateMinChannelTimerDuringScan(pMac) != eSIR_SUCCESS)
-        return;
-
+    if (!pMac->fScanOffload)
+    {
+        if (limDeactivateMinChannelTimerDuringScan(pMac) != eSIR_SUCCESS)
+            return;
+    }
 
     /**
      * No session has been established. Expect Beacon only when