summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuanyuan Liu <yuanliu@codeaurora.org>2017-12-04 16:01:31 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2017-12-05 10:19:25 -0800
commit8a23ecb41862d205dcf0b0a67a3e1de5e36450b8 (patch)
tree29957f87273bc34af837abe17617c3d463b666b5
parent06b749683b138ebafaa120ff16d931abb528fbed (diff)
icnss: Reject driver reinit request when FW is down
Reject driver reinit request when WLAN FW is down as FW is in a bad state and can't communicate with host driver. CRs-Fixed: 2153375 Change-Id: Id16cbfc05984091d61b18c98f7397baa871f82b4 Signed-off-by: Yuanyuan Liu <yuanliu@codeaurora.org>
-rw-r--r--drivers/soc/qcom/icnss.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/soc/qcom/icnss.c b/drivers/soc/qcom/icnss.c
index e7f83ed1307b..1935f18c72f8 100644
--- a/drivers/soc/qcom/icnss.c
+++ b/drivers/soc/qcom/icnss.c
@@ -2174,6 +2174,12 @@ static int icnss_pd_restart_complete(struct icnss_priv *priv)
if (!priv->ops || !priv->ops->reinit)
goto out;
+ if (test_bit(ICNSS_FW_DOWN, &priv->state)) {
+ icnss_pr_err("FW is in bad state, state: 0x%lx\n",
+ priv->state);
+ goto out;
+ }
+
if (!test_bit(ICNSS_DRIVER_PROBED, &priv->state))
goto call_probe;