diff options
| author | Will Huang <wilhuang@codeaurora.org> | 2019-03-14 17:08:54 +0800 |
|---|---|---|
| committer | Will Huang <wilhuang@codeaurora.org> | 2019-03-18 15:33:04 +0800 |
| commit | 48e543db174c0dcec7e61863649147416a55b0fb (patch) | |
| tree | 5f0cfa338b0244245e70bd35a42e3e7f7d408c4e | |
| parent | 113510449f09f9f1795ceb44838006e0afc499c6 (diff) | |
qcacld-2.0: Purge neighbor report cache if unsolicited
If AP sends unsolicited neighbor reports to station proactively,
the cached neighbor report list will grow longer and longer.
Fix it by purging the cache on reception of unsolicited neighbor report.
Change-Id: I2458607041caeb84cb553aa1b9fc6f4029a5cf1c
CRs-Fixed: 2416146
| -rw-r--r-- | CORE/SME/src/rrm/sme_rrm.c | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/CORE/SME/src/rrm/sme_rrm.c b/CORE/SME/src/rrm/sme_rrm.c index d4b2eaedb6fb..246a2d90eb8f 100644 --- a/CORE/SME/src/rrm/sme_rrm.c +++ b/CORE/SME/src/rrm/sme_rrm.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011-2014, 2016, 2018 The Linux Foundation. All rights reserved. + * Copyright (c) 2011-2014, 2016, 2018-2019 The Linux Foundation. All rights reserved. * * Previously licensed under the ISC license by Qualcomm Atheros, Inc. * @@ -1277,20 +1277,11 @@ eHalStatus sme_RrmProcessNeighborReport(tpAniSirGlobal pMac, void *pMsgBuf) tpRrmNeighborReportDesc pNeighborReportDesc; tANI_U8 i = 0; VOS_STATUS vosStatus = VOS_STATUS_SUCCESS; - tANI_U32 sessionId; - /* Get the session id */ - status = csrRoamGetSessionIdFromBSSID(pMac, (tCsrBssid *)pNeighborRpt->bssId, - &sessionId); - if (HAL_STATUS_SUCCESS(status)) { -#ifdef FEATURE_WLAN_ESE - /* Clear the cache for ESE. */ - if (csrNeighborRoamIsESEAssoc(pMac, sessionId)) { - rrmLLPurgeNeighborCache(pMac, - &pMac->rrm.rrmSmeContext.neighborReportCache); - } -#endif - } + /* Purge the cache on reception of unsolicited neighbor report */ + if (!pMac->rrm.rrmSmeContext.neighborReqControlInfo.isNeighborRspPending) + rrmLLPurgeNeighborCache(pMac, + &pMac->rrm.rrmSmeContext.neighborReportCache); for (i = 0; i < pNeighborRpt->numNeighborReports; i++) { |
