summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPadma, Santhosh Kumar <skpadma@qti.qualcomm.com>2015-12-04 19:15:07 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2016-05-25 05:00:28 -0700
commit68bf0aefdfbbcc3dfcc772db0eac0c9f5b5e2668 (patch)
tree58a9c116d0d91f4d8ecd11a332e5c92593ab10ea
parentfd7336858f6919917ceeccae9209ef5dd94e6db8 (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.c14
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;