diff options
| -rw-r--r-- | CORE/SME/src/pmc/pmc.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/CORE/SME/src/pmc/pmc.c b/CORE/SME/src/pmc/pmc.c index 9dd91d13fbb2..b9d31e5848af 100644 --- a/CORE/SME/src/pmc/pmc.c +++ b/CORE/SME/src/pmc/pmc.c @@ -2246,8 +2246,9 @@ tANI_BOOLEAN pmcProcessCommand( tpAniSirGlobal pMac, tSmeCmd *pCommand ) break; case eSmeCommandExitBmps: - if( BMPS == pMac->pmc.pmcState ) + if(( BMPS == pMac->pmc.pmcState ) || (UAPSD == pMac->pmc.pmcState)) { + tPmcState origState = pMac->pmc.pmcState; pMac->pmc.requestFullPowerPending = FALSE; status = pmcSendMessage( pMac, eWNI_PMC_EXIT_BMPS_REQ, @@ -2261,6 +2262,7 @@ tANI_BOOLEAN pmcProcessCommand( tpAniSirGlobal pMac, tSmeCmd *pCommand ) } else { + pMac->pmc.pmcState = origState; pmcLog(pMac, LOGE, FL("eWNI_PMC_EXIT_BMPS_REQ fail to be sent to PE status %d"), status); pmcEnterFullPowerState(pMac); } |
