diff options
| author | Abhishek Singh <absingh@qti.qualcomm.com> | 2015-06-24 14:27:36 +0530 |
|---|---|---|
| committer | Anjaneedevi Kapparapu <akappa@codeaurora.org> | 2015-06-26 18:28:18 +0530 |
| commit | 6c063541e2df26639fa1308d037a1d7e7212ed51 (patch) | |
| tree | 80267ffae1de4e295b6d5b9e758a87484f758056 | |
| parent | 2207cbf72b59542fcc9a51c9c7d86a9001b95c39 (diff) | |
qcacld-2.0: wlan: DUT not able to enter BMPS after the connection
This is prima to qcacld-2.0 propagation
In csrRoamProcessResults remainInPowerActiveTillDHCP is set
before the check pmcShouldBmpsTimerRun. Also if isAndroidPsEn
is set in INI file the pmcShouldBmpsTimerRun returns false
and hTrafficTimer is not started after the connection, thus
the device does not enter BMPS.
Set remainInPowerActiveTillDHCP after the check
pmcShouldBmpsTimerRun to allow hTrafficTimer to run.
Change-Id: Ie630645d0fa2b7748cc41536f6ee72eed2d411cd
CRs-Fixed: 654705
| -rw-r--r-- | CORE/SME/src/csr/csrApiRoam.c | 15 | ||||
| -rw-r--r-- | CORE/SME/src/sme_common/sme_Api.c | 5 |
2 files changed, 14 insertions, 6 deletions
diff --git a/CORE/SME/src/csr/csrApiRoam.c b/CORE/SME/src/csr/csrApiRoam.c index 1bd0fb196c13..d31ebbc50e8b 100644 --- a/CORE/SME/src/csr/csrApiRoam.c +++ b/CORE/SME/src/csr/csrApiRoam.c @@ -5691,11 +5691,6 @@ static tANI_BOOLEAN csrRoamProcessResults( tpAniSirGlobal pMac, tSmeCmd *pComman authentication is needed */ csrRoamSubstateChange( pMac, eCSR_ROAM_SUBSTATE_WAIT_FOR_KEY, sessionId ); - /* Set remainInPowerActiveTillDHCP to make sure we wait for - * until keys are set before going into BMPS. - */ - pMac->pmc.remainInPowerActiveTillDHCP = TRUE; - if(pProfile->bWPSAssociation) { key_timeout_interval = CSR_WAIT_FOR_WPS_KEY_TIMEOUT_PERIOD; @@ -5929,6 +5924,16 @@ static tANI_BOOLEAN csrRoamProcessResults( tpAniSirGlobal pMac, tSmeCmd *pComman //enough to let security and DHCP handshake succeed before entry into BMPS if (!pMac->psOffloadEnabled && pmcShouldBmpsTimerRun(pMac)) { + /* Set remainInPowerActiveTillDHCP to make sure we wait for + * until keys are set before going into BMPS. + */ + if(eANI_BOOLEAN_TRUE == roamInfo.fAuthRequired) + { + pMac->pmc.remainInPowerActiveTillDHCP = TRUE; + smsLog(pMac, LOG1, FL("Set remainInPowerActiveTillDHCP " + "to make sure we wait until keys are set before" + " going to BMPS")); + } if (pmcStartTrafficTimer(pMac, BMPS_TRAFFIC_TIMER_ALLOW_SECURITY_DHCP) != eHAL_STATUS_SUCCESS) { diff --git a/CORE/SME/src/sme_common/sme_Api.c b/CORE/SME/src/sme_common/sme_Api.c index a767bfa338ea..d8847daff48f 100644 --- a/CORE/SME/src/sme_common/sme_Api.c +++ b/CORE/SME/src/sme_common/sme_Api.c @@ -5483,8 +5483,11 @@ eHalStatus sme_RoamSetKey(tHalHandle hHal, tANI_U8 sessionId, tCsrRoamSetKey *pS return eHAL_STATUS_FAILURE; } /*Once Setkey is done, we can go in BMPS*/ - if(pSetKey->keyLength) + if(pSetKey->keyLength) { pMac->pmc.remainInPowerActiveTillDHCP = FALSE; + smsLog(pMac, LOG1, FL("Reset remainInPowerActiveTillDHCP" + " to allow BMPS")); + } status = sme_AcquireGlobalLock( &pMac->sme ); if ( HAL_STATUS_SUCCESS( status ) ) |
