qcacld-3.0: Utilise new APIs for waiting on events
With current implementation in case of an SSR/PDR threads that are waiting on events will only get purged after the wait timeout has occurred, increasing the recovery time for the driver. Utilize new APIs that maintain a list of events. In case of an SSR/PDR forcefully set these events. Change-Id: I83b4f576a65f8da5762288ac8dfccdef7d05d82a CRs-Fixed: 2045156
This commit is contained in:

committed by
snandini

parent
126c307eb0
commit
0396b736a8
@@ -620,7 +620,7 @@ QDF_STATUS pmo_core_enable_wow_in_fw(struct wlan_objmgr_psoc *psoc,
|
||||
|
||||
pmo_tgt_update_target_suspend_flag(psoc, true);
|
||||
|
||||
if (qdf_wait_single_event(&psoc_ctx->wow.target_suspend,
|
||||
if (qdf_wait_for_event_completion(&psoc_ctx->wow.target_suspend,
|
||||
PMO_TGT_SUSPEND_COMPLETE_TIMEOUT)
|
||||
!= QDF_STATUS_SUCCESS) {
|
||||
pmo_err("Failed to receive WoW Enable Ack from FW");
|
||||
@@ -678,7 +678,7 @@ QDF_STATUS pmo_core_psoc_suspend_target(struct wlan_objmgr_psoc *psoc,
|
||||
|
||||
pmo_tgt_update_target_suspend_flag(psoc, true);
|
||||
|
||||
if (qdf_wait_single_event(&psoc_ctx->wow.target_suspend,
|
||||
if (qdf_wait_for_event_completion(&psoc_ctx->wow.target_suspend,
|
||||
PMO_TGT_SUSPEND_COMPLETE_TIMEOUT)
|
||||
!= QDF_STATUS_SUCCESS) {
|
||||
status = QDF_STATUS_E_TIMEOUT;
|
||||
@@ -935,7 +935,7 @@ QDF_STATUS pmo_core_psoc_send_host_wakeup_ind_to_fw(
|
||||
}
|
||||
pmo_debug("Host wakeup indication sent to fw");
|
||||
|
||||
status = qdf_wait_single_event(&psoc_ctx->wow.target_resume,
|
||||
status = qdf_wait_for_event_completion(&psoc_ctx->wow.target_resume,
|
||||
PMO_RESUME_TIMEOUT);
|
||||
if (status != QDF_STATUS_SUCCESS) {
|
||||
pmo_err("Timeout waiting for resume event from FW");
|
||||
|
Reference in New Issue
Block a user