Browse Source

qcacld-3.0: Ignore VOS_BUG if recovery is already going on during suspend

qcacld-2.0 to qcacld-3.0 propagation

There is no need for host driver to do VOS_BUG if FW has already requested
recovery during suspend.

Change-Id: I0c77210316fea978fe686201f42b9501612e9a1e
CRs-fixed: 904909
Yue Ma 9 years ago
parent
commit
455aff67e9
1 changed files with 18 additions and 9 deletions
  1. 18 9
      core/wma/src/wma_features.c

+ 18 - 9
core/wma/src/wma_features.c

@@ -3245,15 +3245,20 @@ CDF_STATUS wma_enable_wow_in_fw(WMA_HANDLE handle)
 		WMA_LOGE("Credits:%d; Pending_Cmds: %d",
 			 wmi_get_host_credits(wma->wmi_handle),
 			 wmi_get_pending_cmds(wma->wmi_handle));
+		if (!cds_is_logp_in_progress()) {
 #ifdef CONFIG_CNSS
-		if (pMac->sme.enableSelfRecovery) {
-			cds_trigger_recovery();
-		} else {
-			CDF_BUG(0);
-		}
+			if (pMac->sme.enableSelfRecovery) {
+				cds_trigger_recovery();
+			} else {
+				CDF_BUG(0);
+			}
 #else
-		CDF_BUG(0);
+			CDF_BUG(0);
 #endif /* CONFIG_CNSS */
+		} else {
+			WMA_LOGE("%s: LOGP is in progress, ignore!", __func__);
+		}
+
 		wmi_set_target_suspend(wma->wmi_handle, false);
 		return CDF_STATUS_E_FAILURE;
 	}
@@ -5924,10 +5929,14 @@ int wma_suspend_target(WMA_HANDLE handle, int disable_target_intr)
 		WMA_LOGE("Failed to get ACK from firmware for pdev suspend");
 		wmi_set_target_suspend(wma_handle->wmi_handle, false);
 #ifdef CONFIG_CNSS
-		if (pmac->sme.enableSelfRecovery) {
-			cds_trigger_recovery();
+		if (!cds_is_logp_in_progress()) {
+			if (pmac->sme.enableSelfRecovery) {
+				cds_trigger_recovery();
+			} else {
+				CDF_BUG(0);
+			}
 		} else {
-			CDF_BUG(0);
+			WMA_LOGE("%s: LOGP is in progress, ignore!", __func__);
 		}
 #endif
 		return -EFAULT;