summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xCORE/HDD/src/wlan_hdd_main.c5
-rw-r--r--CORE/SME/src/csr/csrApiRoam.c5
-rw-r--r--CORE/SME/src/sme_common/sme_Api.c5
3 files changed, 15 insertions, 0 deletions
diff --git a/CORE/HDD/src/wlan_hdd_main.c b/CORE/HDD/src/wlan_hdd_main.c
index 4968254d8c36..5cc6da9a8b32 100755
--- a/CORE/HDD/src/wlan_hdd_main.c
+++ b/CORE/HDD/src/wlan_hdd_main.c
@@ -9369,6 +9369,11 @@ VOS_STATUS hdd_enable_bmps_imps(hdd_context_t *pHddCtx)
{
VOS_STATUS status = VOS_STATUS_SUCCESS;
+ if (0 != wlan_hdd_validate_context(pHddCtx)) {
+ hddLog(LOGE, FL("HDD context is not valid"));
+ return VOS_STATUS_E_PERM;
+ }
+
if(pHddCtx->cfg_ini->fIsBmpsEnabled)
{
sme_EnablePowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
diff --git a/CORE/SME/src/csr/csrApiRoam.c b/CORE/SME/src/csr/csrApiRoam.c
index 2a9b656dd1a2..611f93707e7e 100644
--- a/CORE/SME/src/csr/csrApiRoam.c
+++ b/CORE/SME/src/csr/csrApiRoam.c
@@ -17663,6 +17663,11 @@ eHalStatus csrQueueSmeCommand( tpAniSirGlobal pMac, tSmeCmd *pCommand, tANI_BOOL
{
eHalStatus status;
+ if (!SME_IS_START(pMac)) {
+ smsLog(pMac, LOGE, FL("Sme in stop state"));
+ return eHAL_STATUS_FAILURE;
+ }
+
if( (eSmeCommandScan == pCommand->command) && pMac->scan.fDropScanCmd )
{
smsLog(pMac, LOGW, FL(" drop scan (scan reason %d) command"),
diff --git a/CORE/SME/src/sme_common/sme_Api.c b/CORE/SME/src/sme_common/sme_Api.c
index a0ca6db58b10..92b996fc6d96 100644
--- a/CORE/SME/src/sme_common/sme_Api.c
+++ b/CORE/SME/src/sme_common/sme_Api.c
@@ -465,6 +465,11 @@ tSmeCmd *smeGetCommandBuffer( tpAniSirGlobal pMac )
void smePushCommand( tpAniSirGlobal pMac, tSmeCmd *pCmd, tANI_BOOLEAN fHighPriority )
{
+ if (!SME_IS_START(pMac)) {
+ smsLog(pMac, LOGE, FL("Sme in stop state"));
+ return;
+ }
+
if ( fHighPriority )
{
csrLLInsertHead( &pMac->sme.smeCmdPendingList, &pCmd->Link, LL_ACCESS_LOCK );