|
@@ -1208,6 +1208,8 @@ static int __wlan_hdd_bus_suspend(struct wow_enable_params wow_params,
|
|
|
goto late_hif_resume;
|
|
|
}
|
|
|
|
|
|
+ hif_system_pm_set_state_suspended(hif_ctx);
|
|
|
+
|
|
|
err = hif_bus_suspend(hif_ctx);
|
|
|
if (err) {
|
|
|
hdd_err("Failed hif bus suspend: %d", err);
|
|
@@ -1259,6 +1261,7 @@ late_hif_resume:
|
|
|
resume_cdp:
|
|
|
status = cdp_bus_resume(dp_soc, OL_TXRX_PDEV_ID);
|
|
|
QDF_BUG(QDF_IS_STATUS_SUCCESS(status));
|
|
|
+ hif_system_pm_set_state_on(hif_ctx);
|
|
|
|
|
|
return err;
|
|
|
}
|
|
@@ -1415,6 +1418,8 @@ int wlan_hdd_bus_resume(enum qdf_suspend_type type)
|
|
|
goto out;
|
|
|
}
|
|
|
|
|
|
+ hif_system_pm_set_state_resuming(hif_ctx);
|
|
|
+
|
|
|
qdf_status = ucfg_pmo_psoc_bus_resume_req(hdd_ctx->psoc,
|
|
|
type);
|
|
|
status = qdf_status_to_os_return(qdf_status);
|
|
@@ -1423,6 +1428,8 @@ int wlan_hdd_bus_resume(enum qdf_suspend_type type)
|
|
|
goto out;
|
|
|
}
|
|
|
|
|
|
+ hif_system_pm_set_state_on(hif_ctx);
|
|
|
+
|
|
|
status = hif_bus_late_resume(hif_ctx);
|
|
|
if (status) {
|
|
|
hdd_err("Failed hif bus late resume");
|
|
@@ -1441,6 +1448,7 @@ int wlan_hdd_bus_resume(enum qdf_suspend_type type)
|
|
|
return 0;
|
|
|
|
|
|
out:
|
|
|
+ hif_system_pm_set_state_suspended(hif_ctx);
|
|
|
if (cds_is_driver_recovering() || cds_is_driver_in_bad_state() ||
|
|
|
cds_is_fw_down())
|
|
|
return 0;
|