diff --git a/components/pmo/core/src/wlan_pmo_suspend_resume.c b/components/pmo/core/src/wlan_pmo_suspend_resume.c index 47ff14149fb9..719a062c7f83 100644 --- a/components/pmo/core/src/wlan_pmo_suspend_resume.c +++ b/components/pmo/core/src/wlan_pmo_suspend_resume.c @@ -932,6 +932,12 @@ out: } #ifdef FEATURE_RUNTIME_PM +#define PMO_CORE_PSOC_RUNTIME_PM_QDF_BUG(__condition) ({ \ + typeof(__condition) condition = __condition; \ + if (condition && !qdf_is_fw_down()) \ + QDF_BUG(0); \ +}) + QDF_STATUS pmo_core_psoc_bus_runtime_suspend(struct wlan_objmgr_psoc *psoc, pmo_pld_auto_suspend_cb pld_cb) { @@ -1026,24 +1032,23 @@ QDF_STATUS pmo_core_psoc_bus_runtime_suspend(struct wlan_objmgr_psoc *psoc, goto dec_psoc_ref; resume_hif: - QDF_BUG(!hif_runtime_resume(hif_ctx)); + PMO_CORE_PSOC_RUNTIME_PM_QDF_BUG(hif_runtime_resume(hif_ctx)); pmo_bus_resume: - QDF_BUG(QDF_STATUS_SUCCESS == + PMO_CORE_PSOC_RUNTIME_PM_QDF_BUG(QDF_STATUS_SUCCESS != pmo_core_psoc_bus_resume_req(psoc, QDF_RUNTIME_SUSPEND)); pmo_resume_configure: - QDF_BUG(QDF_STATUS_SUCCESS == + PMO_CORE_PSOC_RUNTIME_PM_QDF_BUG(QDF_STATUS_SUCCESS != pmo_core_psoc_configure_resume(psoc, true)); resume_htc: - QDF_BUG(QDF_STATUS_SUCCESS == + PMO_CORE_PSOC_RUNTIME_PM_QDF_BUG(QDF_STATUS_SUCCESS != pmo_tgt_psoc_set_runtime_pm_inprogress(psoc, false)); - - QDF_BUG(!htc_runtime_resume(htc_ctx)); + PMO_CORE_PSOC_RUNTIME_PM_QDF_BUG(htc_runtime_resume(htc_ctx)); cdp_runtime_resume: - QDF_BUG(QDF_STATUS_SUCCESS == + PMO_CORE_PSOC_RUNTIME_PM_QDF_BUG(QDF_STATUS_SUCCESS != cdp_runtime_resume(dp_soc, pdev_id)); runtime_failure: