diff options
| author | Deepthi Gowri <c_gowri@qti.qualcomm.com> | 2016-07-05 15:42:40 +0530 |
|---|---|---|
| committer | Anjaneedevi Kapparapu <akappa@codeaurora.org> | 2016-07-29 12:05:12 +0530 |
| commit | 555e7fdf8db2b0e4832bb23f0e08fd148cfcc320 (patch) | |
| tree | 05522575551981d110e708712af0c0de31a6ce8c | |
| parent | 9bcdf77350e41e0375f65f9cc1884e848a34c98c (diff) | |
qcacld-2.0: Purge scan results only when scan is complete
prima to qcacld-2.0 propagation
Currently the scan results are aged out based on number of scans for
each scan response in SME. But lim may send the scan response to SME
often, if the allocated length of scan rsp in lim is less than the
scan response or the BSS count is less than or equal to 20, due to
this aging count would be decremented quickly and thus would age out
the scan results soon.
To address this, flush the scan results based on the number scans
after scan is complete.
CRs-Fixed: 1000624
Change-Id: If1bbe6d4ab9fdb05d0986b955cdefac66d1ee508
| -rw-r--r-- | CORE/SME/src/csr/csrApiScan.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/CORE/SME/src/csr/csrApiScan.c b/CORE/SME/src/csr/csrApiScan.c index 5f25f4244c94..388b81b79f71 100644 --- a/CORE/SME/src/csr/csrApiScan.c +++ b/CORE/SME/src/csr/csrApiScan.c @@ -5458,11 +5458,9 @@ eHalStatus csrScanSmeScanResponse( tpAniSirGlobal pMac, void *pMsgBuf ) pCommand = GET_BASE_ADDR( pEntry, tSmeCmd, Link ); if ( eSmeCommandScan == pCommand->command ) { - pScanChnInfo = (tSmeGetScanChnRsp *)pMsgBuf; - /* Purge the scan results based on Aging and Ref count */ - csrPurgeScanResultByAge(pMac); - if (pScanChnInfo) - csrScanAgeResults(pMac, pScanChnInfo); + /* Purge the scan results based on Aging */ + if (pEntry && pMac->scan.scanResultCfgAgingTime) + csrPurgeScanResultByAge(pMac); reason = pCommand->u.scanCmd.reason; switch(pCommand->u.scanCmd.reason) { @@ -5475,11 +5473,13 @@ eHalStatus csrScanSmeScanResponse( tpAniSirGlobal pMac, void *pMsgBuf ) eCSR_SCAN_SUCCESS : eCSR_SCAN_FAILURE; break; case eCsrScanGetScanChnInfo: + pScanChnInfo = (tSmeGetScanChnRsp *)pMsgBuf; /* * status code not available in tSmeGetScanChnRsp, so * by default considering it to be success */ scanStatus = eSIR_SME_SUCCESS; + csrScanAgeResults(pMac, pScanChnInfo); break; case eCsrScanForCapsChange: pScanRsp = (tSirSmeScanRsp *)pMsgBuf; |
