diff options
| author | Sachin Ahuja <sahuja@qti.qualcomm.com> | 2015-09-27 21:47:49 +0530 |
|---|---|---|
| committer | Anjaneedevi Kapparapu <akappa@codeaurora.org> | 2015-10-01 16:20:27 +0530 |
| commit | 0503ed3ac3cd93d5f2ab9950954ed95cb58fbf9d (patch) | |
| tree | 4f8133672e9111e2c5a7bf4387361bf8d1a3225a | |
| parent | 7adba06d5c3e18dbb79c379625c3ee00080522f2 (diff) | |
qcacld-2.0: Change the pmmstate to READY if EnterBmps is failed
prima to qcacld-2.0 propagation
Currently if EnterBmps is failed, pmm state is changed to
ePMM_STATE_BMPS_WAKEUP.Now if disconnect happens, then enter
imps is not allowed if pmm state is ePMM_STATE_BMPS_WAKEUP.
To resolve this issue
1) Update the pmm state to READY if enterBmps is failed.
2) Update the pmm state to ePMM_STATE_BMPS_SLEEP if exitBmps
is failed.
3) Update the pmm state to READY if enterimps is failed.
Change-Id: Ie04d555a338ba232a497a3d1f93173b15f1499ed
CRs-Fixed: 905355
| -rw-r--r-- | CORE/MAC/src/pe/pmm/pmmApi.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/CORE/MAC/src/pe/pmm/pmmApi.c b/CORE/MAC/src/pe/pmm/pmmApi.c index 3ce8e560ff12..e79b89c2b46a 100644 --- a/CORE/MAC/src/pe/pmm/pmmApi.c +++ b/CORE/MAC/src/pe/pmm/pmmApi.c @@ -253,7 +253,7 @@ void pmmInitBmpsResponseHandler(tpAniSirGlobal pMac, tpSirMsgQ limMsg ) FL("pmmBmps: BMPS_INIT_PWR_SAVE_REQ failed, informing SME"));) pmmBmpsUpdateInitFailureCnt(pMac); - nextState = ePMM_STATE_BMPS_WAKEUP; + nextState = ePMM_STATE_READY; retStatus = eSIR_SME_BMPS_REQ_FAILED; goto failure; } @@ -864,6 +864,7 @@ void pmmExitBmpsResponseHandler(tpAniSirGlobal pMac, tpSirMsgQ limMsg) switch (rspStatus) { case eHAL_STATUS_SUCCESS: + pMac->pmm.gPmmState = ePMM_STATE_BMPS_WAKEUP; retStatus = eSIR_SME_SUCCESS; break; @@ -874,13 +875,12 @@ void pmmExitBmpsResponseHandler(tpAniSirGlobal pMac, tpSirMsgQ limMsg) * But, PMC will be informed about the error. */ retStatus = eSIR_SME_BMPS_REQ_FAILED; + pMac->pmm.gPmmState = ePMM_STATE_BMPS_SLEEP; } break; } - pMac->pmm.gPmmState = ePMM_STATE_BMPS_WAKEUP; - // turn on background scan pMac->sys.gSysEnableScanMode = true; @@ -1455,7 +1455,7 @@ void pmmEnterImpsResponseHandler (tpAniSirGlobal pMac, eHalStatus rspStatus) else { // go back to previous state if request failed - nextState = ePMM_STATE_IMPS_WAKEUP; + nextState = ePMM_STATE_READY; resultCode = eSIR_SME_CANNOT_ENTER_IMPS; goto failure; } |
