From ba532aaaf0ded38b4073de02ae34fab4676feb5c Mon Sep 17 00:00:00 2001 From: Yue Ma Date: Tue, 20 Oct 2015 18:29:16 -0700 Subject: [PATCH] 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 --- core/wma/src/wma_features.c | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/core/wma/src/wma_features.c b/core/wma/src/wma_features.c index adc553dc79e4..b8d584e4d7d9 100644 --- a/core/wma/src/wma_features.c +++ b/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;