diff options
| author | Subramanyam Nalli <nalli@qti.qualcomm.com> | 2014-03-25 13:47:33 +0530 |
|---|---|---|
| committer | Akash Patel <c_akashp@qca.qualcomm.com> | 2014-03-26 21:24:30 -0700 |
| commit | bda79a893dfcd1746632b789125e7650359ed856 (patch) | |
| tree | b44156d1eb3995bf741d4790dbe8be810ad897d2 /CORE/SME/src | |
| parent | 07b8e787ff5569fb61e748b7001fc392376216b2 (diff) | |
qcacld : LIM: Remove duplicate scan cache in SME and LIM
Currently before updating the new scan result, both BSSID
and channel number are getting compared before updating the
details in LIM/SMEscan cache. Due to this, if AP moves from
one DFS channel to another DFS channel duplicate entries are
getting created in LIM scan cache for the same BSSID.
When wpa_supplicant says connect to driver, CSR is taking
first entry which has older channel and trying to connect
first time. AP will not be available in older channel.
SO, connection would fail saying that beacon is not received.
And then CSR is taking next entry which has new channel and
trying to connect. 2nd time connection is successful. This patch
removes duplicate entries each bssid.
CRs-fixed: 634156
Change-Id: Ie5a00c537f191de5f061fe861774bc9c9a675125
Diffstat (limited to 'CORE/SME/src')
| -rw-r--r-- | CORE/SME/src/csr/csrApiScan.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/CORE/SME/src/csr/csrApiScan.c b/CORE/SME/src/csr/csrApiScan.c index 49d70c978e7f..f5985e7b5c42 100644 --- a/CORE/SME/src/csr/csrApiScan.c +++ b/CORE/SME/src/csr/csrApiScan.c @@ -49,6 +49,7 @@ #include "vos_nvitem.h" #include "wlan_qct_wda.h" +#include "vos_utils.h" #define MIN_CHN_TIME_TO_FIND_GO 100 #define MAX_CHN_TIME_TO_FIND_GO 100 @@ -4631,7 +4632,7 @@ tANI_BOOLEAN csrIsDuplicateBssDescription( tpAniSirGlobal pMac, tSirBssDescripti { if (pCap1->ess && csrIsMacAddressEqual( pMac, (tCsrBssid *)pSirBssDesc1->bssId, (tCsrBssid *)pSirBssDesc2->bssId)&& - (fForced || (pSirBssDesc1->channelId == pSirBssDesc2->channelId))) + (fForced || (vos_freq_to_band(pSirBssDesc1->channelId) == vos_freq_to_band((pSirBssDesc2->channelId))))) { fMatch = TRUE; // Check for SSID match, if exists |
