qcacld-3.0: Fix race between suspend sequence and request resume
Currently when suspend sequence is going on and WOW handshake with F.W is completed, then we check for wow initial wakeup flag if it is not set then we proceed for suspend. But if this wow initial wake flag is set just after it being checked in suspend sequence then we miss honoring the wake message and host will be stuck in suspend state. So to avoid this make sure we are requesting resume from wow initial wakeup setting context. So that resume request is posted properly. Change-Id: Idd082ef82a4d7dbd62d7762f10debe1db9baed88 CRs-Fixed: 3743425
Este commit está contenido en:
cometido por
Ravindra Konda
padre
7f7f79c47d
commit
34d6142c5d
@@ -1664,12 +1664,19 @@ void pmo_core_psoc_handle_initial_wake_up(void *cb_ctx)
|
||||
{
|
||||
struct pmo_psoc_priv_obj *psoc_ctx;
|
||||
struct wlan_objmgr_psoc *psoc = (struct wlan_objmgr_psoc *)cb_ctx;
|
||||
void *hif_ctx;
|
||||
|
||||
if (!psoc) {
|
||||
pmo_err("cb ctx/psoc is null");
|
||||
return;
|
||||
}
|
||||
|
||||
hif_ctx = pmo_core_psoc_get_hif_handle(psoc);
|
||||
if (!hif_ctx)
|
||||
pmo_err("hif ctx is null, request resume not called");
|
||||
else if(hif_pm_get_wake_irq_type(hif_ctx) == HIF_PM_CE_WAKE)
|
||||
hif_rtpm_check_and_request_resume(true);
|
||||
|
||||
psoc_ctx = pmo_psoc_get_priv(psoc);
|
||||
pmo_core_update_wow_initial_wake_up(psoc_ctx, 1);
|
||||
}
|
||||
|
Referencia en una nueva incidencia
Block a user