diff options
| author | Padma, Santhosh Kumar <skpadma@qti.qualcomm.com> | 2015-08-13 19:34:34 +0530 |
|---|---|---|
| committer | Anjaneedevi Kapparapu <akappa@codeaurora.org> | 2016-05-24 19:10:17 +0530 |
| commit | 84a84d6a25142d3e263d9bf698e5e28e1c860867 (patch) | |
| tree | 865ea2a095d092eedce014eb286489ca700ea74d | |
| parent | 19c5901d2f42716931dc94aaba1e5c0cc5c07922 (diff) | |
qcacld-2.0: Reduce expiration time of traffic timer during roaming
prima to qcacld-2.0 propagation
Currently, driver starts traffic timer for a period of 8secs after
successful connection to allow for key completion and DHCP. As there
is no DHCP during roaming, this delay is not required. So, stop this
timer during roaming and start a timer of minimal duration to allow
STA to enter power save immediately after key completion.
Change-Id: I6c6111fc1aacb524da463914d357710a7f125f4a
CRs-Fixed: 868916
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_assoc.c | 11 | ||||
| -rw-r--r-- | CORE/SME/inc/pmcApi.h | 9 |
2 files changed, 19 insertions, 1 deletions
diff --git a/CORE/HDD/src/wlan_hdd_assoc.c b/CORE/HDD/src/wlan_hdd_assoc.c index e6d1c54bebf2..067cfa387217 100644 --- a/CORE/HDD/src/wlan_hdd_assoc.c +++ b/CORE/HDD/src/wlan_hdd_assoc.c @@ -4011,6 +4011,17 @@ hdd_smeRoamCallback(void *pContext, tCsrRoamInfo *pRoamInfo, tANI_U32 roamId, eSME_FULL_PWR_NEEDED_BY_HDD); } } + if ((pHddCtx) && + FULL_POWER == pmcGetPmcState(pHddCtx->hHal) && + VOS_TRUE == pHddStaCtx->hdd_ReassocScenario) { + hddLog(LOG1, + FL("Device in full power, Stop and start traffic timer for roaming")); + pmcStopTrafficTimer(pHddCtx->hHal); + + if (pmcStartTrafficTimer(pHddCtx->hHal, + TRAFFIC_TIMER_ROAMING) != eHAL_STATUS_SUCCESS) + hddLog(LOGP, FL("Cannot start traffic timer")); + } halStatus = hdd_RoamSetKeyCompleteHandler( pAdapter, pRoamInfo, roamId, roamStatus, roamResult ); if (eCSR_ROAM_RESULT_AUTHENTICATED == roamResult) { pHddStaCtx->hdd_ReassocScenario = VOS_FALSE; diff --git a/CORE/SME/inc/pmcApi.h b/CORE/SME/inc/pmcApi.h index 6052b3f79f23..7b915b99785a 100644 --- a/CORE/SME/inc/pmcApi.h +++ b/CORE/SME/inc/pmcApi.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011-2015 The Linux Foundation. All rights reserved. + * Copyright (c) 2011-2016 The Linux Foundation. All rights reserved. * * Previously licensed under the ISC license by Qualcomm Atheros, Inc. * @@ -56,6 +56,13 @@ //should be large enough to allow the auth, DHCP handshake to complete #define BMPS_TRAFFIC_TIMER_ALLOW_SECURITY_DHCP 8000 //unit = ms +/* + * This timer value is used to start the timer right after key completion + * during roaming. This should be small enough to allow STA to enter PS + * immediately after key completion as no DHCP phase during roaming. + */ +#define TRAFFIC_TIMER_ROAMING 100 + #define PMC_IS_CHIP_ACCESSIBLE(pmcState) ( (IMPS != (pmcState)) && (REQUEST_IMPS != (pmcState)) && \ (STANDBY != (pmcState)) && (REQUEST_STANDBY != (pmcState)) ) |
