summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbhishek Singh <absingh@qti.qualcomm.com>2015-06-24 14:27:36 +0530
committerAnjaneedevi Kapparapu <akappa@codeaurora.org>2015-06-26 18:28:18 +0530
commit6c063541e2df26639fa1308d037a1d7e7212ed51 (patch)
tree80267ffae1de4e295b6d5b9e758a87484f758056
parent2207cbf72b59542fcc9a51c9c7d86a9001b95c39 (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.c15
-rw-r--r--CORE/SME/src/sme_common/sme_Api.c5
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 ) )