diff options
| author | Padma, Santhosh Kumar <skpadma@qti.qualcomm.com> | 2015-12-04 19:15:07 +0530 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2016-05-25 05:00:28 -0700 |
| commit | 68bf0aefdfbbcc3dfcc772db0eac0c9f5b5e2668 (patch) | |
| tree | 58a9c116d0d91f4d8ecd11a332e5c92593ab10ea | |
| parent | fd7336858f6919917ceeccae9209ef5dd94e6db8 (diff) | |
qcacld-2.0: Stop stats timer only when it is started
prima to qcacld-2.0 propagation
Currently stats timer is started only when variable periodicity
is non-zero. During cleanup, check for variable periodicity is
not present before stopping stats timer. This results in
unnecessary assert. Add a check to stop timer only when variable
periodicity is non-zero. Also, add a change to update status
properly when staid is within permissible limits.
Change-Id: Idf0fcc7f118aaae29dae26f0176b3093f47bd865
CRs-Fixed: 939678
| -rw-r--r-- | CORE/SME/src/csr/csrApiRoam.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/CORE/SME/src/csr/csrApiRoam.c b/CORE/SME/src/csr/csrApiRoam.c index 0d313b7df2ed..b9983f066b0d 100644 --- a/CORE/SME/src/csr/csrApiRoam.c +++ b/CORE/SME/src/csr/csrApiRoam.c @@ -16317,6 +16317,7 @@ void csrRoamStatsRspProcessor(tpAniSirGlobal pMac, tSirSmeRsp *pSirMsg) smsLog( pMac, LOG2, FL("csrRoamStatsRspProcessor:PerSta stats")); if( CSR_MAX_STA > pSmeStatsRsp->staId ) { + status = eHAL_STATUS_SUCCESS; vos_mem_copy((tANI_U8 *)&pMac->roam.perStaStatsInfo[pSmeStatsRsp->staId], pStats, sizeof(tCsrPerStaStatsInfo)); } @@ -16906,12 +16907,13 @@ eHalStatus csrGetStatistics(tpAniSirGlobal pMac, eCsrStatsRequesterType requeste pMac->roam.tlStatsReqInfo.periodicity = 0; pMac->roam.tlStatsReqInfo.timerRunning = FALSE; } - vos_timer_stop( &pStaEntry->timer ); - // Destroy the vos timer... - vosStatus = vos_timer_destroy( &pStaEntry->timer ); - if ( !VOS_IS_STATUS_SUCCESS( vosStatus ) ) - { - smsLog(pMac, LOGE, FL("csrGetStatistics:failed to destroy Client req timer")); + + if (periodicity) { + vos_timer_stop(&pStaEntry->timer); + /* Destroy the vos timer */ + vosStatus = vos_timer_destroy(&pStaEntry->timer); + if (!VOS_IS_STATUS_SUCCESS(vosStatus)) + smsLog(pMac, LOGE, FL("csrGetStatistics:failed to destroy Client req timer")); } csrRoamRemoveStatListEntry(pMac, pEntry); pStaEntry = NULL; |
