Bladeren bron

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
Nachiket Kukade 7 jaren geleden
bovenliggende
commit
2ec1adfce6
1 gewijzigde bestanden met toevoegingen van 3 en 3 verwijderingen
  1. 3 3
      pmo/core/src/wlan_pmo_suspend_resume.c

+ 3 - 3
pmo/core/src/wlan_pmo_suspend_resume.c

@@ -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");