prima: Add BSS if new channel same to current channel in ECSA IE

In some special case, reference AP or P2P GO included ECSA IE wrongly,
and the new channel is same to current channel.

Change-Id: Iae6b55db913a47bf6199ac0d490d1c10017c471b
CRs-Fixed: 2209738
diff --git a/CORE/MAC/src/pe/lim/limScanResultUtils.c b/CORE/MAC/src/pe/lim/limScanResultUtils.c
index 90b5ae0..8af7d6f 100644
--- a/CORE/MAC/src/pe/lim/limScanResultUtils.c
+++ b/CORE/MAC/src/pe/lim/limScanResultUtils.c
@@ -450,11 +450,25 @@
      * caching the scan results for APs which are adverzing the channel-switch
      * element in their beacons and probe responses.
      */
-    if(pBPR->channelSwitchPresent || pBPR->ecsa_present)
+    if(pBPR->channelSwitchPresent)
     {
         return;
     }
 
+    if(pBPR->ecsa_present) {
+       limLog(pMac, LOGW, FL("ECSA IE present"));
+       /* Still add to scan result if ECSA IE present and new channel
+        * equal to current channel.
+        */
+       if (pBPR->channelNumber!= HAL_INVALID_CHANNEL_ID &&
+           pBPR->ext_chan_switch_ann.new_channel != HAL_INVALID_CHANNEL_ID &&
+           pBPR->channelNumber != pBPR->ext_chan_switch_ann.new_channel) {
+             limLog(pMac, LOGW, FL("ignore this AP"));
+             return;
+        }
+
+    }
+
     /* If beacon/probe resp DS param channel does not match with 
      * RX BD channel then don't save the results. It might be a beacon
      * from another channel heard as noise on the current scanning channel