summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDeepthi Gowri <c_gowri@qti.qualcomm.com>2016-07-05 15:42:40 +0530
committerAnjaneedevi Kapparapu <akappa@codeaurora.org>2016-07-29 12:05:12 +0530
commit555e7fdf8db2b0e4832bb23f0e08fd148cfcc320 (patch)
tree05522575551981d110e708712af0c0de31a6ce8c
parent9bcdf77350e41e0375f65f9cc1884e848a34c98c (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.c10
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;