diff options
| author | Ganesh Kondabattini <ganeshk@qti.qualcomm.com> | 2014-03-14 10:39:57 +0530 |
|---|---|---|
| committer | Akash Patel <c_akashp@qca.qualcomm.com> | 2014-03-16 21:21:02 -0700 |
| commit | 1db18d35a7d2bd29a16561ded88c89e6028eccd3 (patch) | |
| tree | 1ddc73a0995278c8dcf215dd5e40b40444434ded | |
| parent | 7f144c8e41f2c0ed60268717207d5fc8a8880500 (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.c | 12 |
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) { |
