1
0

qcacld-3.0: add sync between suspend and wow resume in runtime pm

In moselle, once wow enabled there is a possibility that wow wake
interrupt can be fired from FW during runtime suspend in progress
in host, this will introduce a race between runtime suspend and
resume, so adding a synchronization between runtime suspend and
wow triggered runtime resume.

Change-Id: I19a4d70f47d5c202d0ba291c3edc8a260690f434
CRs-Fixed: 2845670
Este cometimento está contido em:
Vevek Venkatesan
2020-12-28 02:16:12 +05:30
cometido por snandini
ascendente f511448242
cometimento 6cc1576cf0

Ver ficheiro

@@ -975,6 +975,7 @@ QDF_STATUS pmo_core_psoc_bus_runtime_suspend(struct wlan_objmgr_psoc *psoc,
QDF_STATUS status;
int ret;
struct pmo_wow_enable_params wow_params = {0};
struct pmo_psoc_priv_obj *psoc_ctx;
qdf_time_t begin, end;
int pending;
@@ -1062,7 +1063,16 @@ QDF_STATUS pmo_core_psoc_bus_runtime_suspend(struct wlan_objmgr_psoc *psoc,
}
}
hif_pm_runtime_suspend_lock(hif_ctx);
psoc_ctx = pmo_psoc_get_priv(psoc);
if (pmo_core_get_wow_initial_wake_up(psoc_ctx)) {
hif_pm_runtime_suspend_unlock(hif_ctx);
pmo_err("Target wake up received before suspend completion");
status = QDF_STATUS_E_BUSY;
goto resume_hif;
}
hif_process_runtime_suspend_success(hif_ctx);
hif_pm_runtime_suspend_unlock(hif_ctx);
goto dec_psoc_ref;