wlan: Avoid race condition between MC/BC filter callbacks
Unable to set MC/BC filter if hdd_PowerStateChangedCB() callback
function executes as a part of dynamic DTIM handling logic before
"hdd_wlan_suspended" flag is set.
To mitigate this issue, set hdd_wlan_suspend flag before we set any
power states.
Change-Id: I899f6255a77ada1d6fbf8d627f9f8b2b89be673f
CRs-Fixed: 746790
diff --git a/CORE/HDD/src/wlan_hdd_early_suspend.c b/CORE/HDD/src/wlan_hdd_early_suspend.c
index b2c31e3..8cf8061 100644
--- a/CORE/HDD/src/wlan_hdd_early_suspend.c
+++ b/CORE/HDD/src/wlan_hdd_early_suspend.c
@@ -1399,6 +1399,7 @@
return;
}
+ pHddCtx->hdd_wlan_suspended = TRUE;
hdd_set_pwrparams(pHddCtx);
status = hdd_get_front_adapter ( pHddCtx, &pAdapterNode );
while ( NULL != pAdapterNode && VOS_STATUS_SUCCESS == status )
@@ -1450,7 +1451,6 @@
status = hdd_get_next_adapter ( pHddCtx, pAdapterNode, &pNext );
pAdapterNode = pNext;
}
- pHddCtx->hdd_wlan_suspended = TRUE;
#ifdef SUPPORT_EARLY_SUSPEND_STANDBY_DEEPSLEEP
if(pHddCtx->cfg_ini->nEnableSuspend == WLAN_MAP_SUSPEND_TO_STANDBY)