Parcourir la source

qcacld-3.0: checking fw down when handle runtime suspend failure

In pmo_core_psoc_bus_runtime_suspend, when handing pm suspend fail,
Don't call qdf_bug if fw is already down.

Change-Id: I4be872a27bbc100e85432e42a33ac329fad1dd24
CRs-Fixed: 2694416
Jingxiang Ge il y a 4 ans
Parent
commit
cc6e046103
1 fichiers modifiés avec 12 ajouts et 7 suppressions
  1. 12 7
      components/pmo/core/src/wlan_pmo_suspend_resume.c

+ 12 - 7
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: