summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CORE/SERVICES/WMA/wma.c8
-rw-r--r--CORE/SERVICES/WMA/wma.h1
2 files changed, 9 insertions, 0 deletions
diff --git a/CORE/SERVICES/WMA/wma.c b/CORE/SERVICES/WMA/wma.c
index d92865076b90..0c718fff637b 100644
--- a/CORE/SERVICES/WMA/wma.c
+++ b/CORE/SERVICES/WMA/wma.c
@@ -7694,6 +7694,7 @@ static VOS_STATUS wma_enable_wow_in_fw(tp_wma_handle wma)
wmi_wow_enable_cmd_fixed_param));
cmd->enable = TRUE;
+ vos_event_reset(&wma->target_suspend);
ret = wmi_unified_cmd_send(wma->wmi_handle, buf, len,
WMI_WOW_ENABLE_CMDID);
if (ret) {
@@ -7702,6 +7703,13 @@ static VOS_STATUS wma_enable_wow_in_fw(tp_wma_handle wma)
return VOS_STATUS_E_FAILURE;
}
+ if (vos_wait_single_event(&wma->target_suspend,
+ WMA_TGT_SUSPEND_COMPLETE_TIMEOUT)
+ != VOS_STATUS_SUCCESS) {
+ WMA_LOGE("Failed to receive WoW Enable Ack from FW");
+ return VOS_STATUS_E_FAILURE;
+ }
+
WMA_LOGD("WOW enabled successfully in fw");
return VOS_STATUS_SUCCESS;
diff --git a/CORE/SERVICES/WMA/wma.h b/CORE/SERVICES/WMA/wma.h
index 35e23bcd5e3d..637ce27dbcdc 100644
--- a/CORE/SERVICES/WMA/wma.h
+++ b/CORE/SERVICES/WMA/wma.h
@@ -76,6 +76,7 @@
/** Private **/
#define WMA_CFG_NV_DNLD_TIMEOUT 500
#define WMA_READY_EVENTID_TIMEOUT 2000
+#define WMA_TGT_SUSPEND_COMPLETE_TIMEOUT 200
#define MAX_MEM_CHUNKS 32
/*
In prima 12 HW stations are supported including BCAST STA(staId 0)