mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-25 06:03:36 -04:00
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
This commit is contained in:
parent
576ad65201
commit
4a40f3bd18
1 changed files with 10 additions and 0 deletions
|
|
@ -970,6 +970,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;
|
||||
|
||||
|
|
@ -1057,7 +1058,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;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue