summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGanesh Kondabattini <ganeshk@qti.qualcomm.com>2014-03-14 10:39:57 +0530
committerAkash Patel <c_akashp@qca.qualcomm.com>2014-03-16 21:21:02 -0700
commit1db18d35a7d2bd29a16561ded88c89e6028eccd3 (patch)
tree1ddc73a0995278c8dcf215dd5e40b40444434ded
parent7f144c8e41f2c0ed60268717207d5fc8a8880500 (diff)
CLD-SCAN: Ignore beacon while adding the entry into the scan cache
In current design the driver is updating either probe response or beacon frame to cfg80211 as part of scan results even if the driver receives both probe response and beacon frames on scanned channel. If the last received frame is beacon on that channel then driver indicating beacon to cfg80211 as scan result. If the last received frame is probe response on that channel then driver indicating probe response to cfg80211. In cfg80211 , for the existing BSS entry probe responses obtained shall override the previously obtained ie.s without any conditional check but the obtained beacon ie.s shall override the previous ie.s only when these are from the beacons before. This shall result in the supplicant to get the stale probe response though the driver happens to report the updated beacons after the obtained probe response . This results in a failed PBC session by the supplicant for not getting the updated ie. To address this issue, driver indicates only probe response to cfg80211 whennever driver receives both probe response and beacon frames on a particular channel as part of scan. Change-Id: I7831391ddc179943eb1d01b8eeb6782e21a300cf CRs-Fixed: 626691
-rw-r--r--CORE/MAC/src/pe/lim/limScanResultUtils.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/CORE/MAC/src/pe/lim/limScanResultUtils.c b/CORE/MAC/src/pe/lim/limScanResultUtils.c
index 8be52ddc0999..0042fd505083 100644
--- a/CORE/MAC/src/pe/lim/limScanResultUtils.c
+++ b/CORE/MAC/src/pe/lim/limScanResultUtils.c
@@ -739,6 +739,18 @@ limLookupNaddHashEntry(tpAniSirGlobal pMac,
ptemp->bssDescription.channelId))))
)
{
+ if (ptemp->bssDescription.fProbeRsp &&
+ !pBssDescr->bssDescription.fProbeRsp)
+ {
+ /* If the previously saved frame is probe response
+ * and the current frame is beacon, then no need
+ * to update the scan database. Probe response is
+ * going to have more proper information than beacon
+ * frame. So it is better to inform the probe
+ * response frame instead of beacon for proper
+ * information. */
+ return eHAL_STATUS_FAILURE;
+ }
// Found the same BSS description
if (action == LIM_HASH_UPDATE)
{