summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnurag Chouhan <achouhan@codeaurora.org>2017-03-14 19:19:02 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2017-03-14 06:57:17 -0700
commit6d99aa2b6e33d65ef7dfa87e8092ba5d9c99b4d4 (patch)
tree1c0b7892a76cb72df520a3126a35e3b46d7242bf
parent89bfd053bfb4afb40d86f58de52cb7b1433dccba (diff)
icnss: Add check to validate wlan driver probe status before probe
As pd_locator_work failed to locate Pd service, icnss is unable to receive the PD events so shutdown never gets scheduled and hence PD_RESTART bit is not set, with the FW_READY event if PD_RESTART bit is not set icnss proceed to probe the wlan driver Add a check to validate the wlan driver status before calling wlan driver probe. Change-Id: I15b09063154e87fb1574d2d2f1492da2ba84da3a CRs-fixed: 2019254 Signed-off-by: Anurag Chouhan <achouhan@codeaurora.org>
-rw-r--r--drivers/soc/qcom/icnss.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/soc/qcom/icnss.c b/drivers/soc/qcom/icnss.c
index 2fcd1a4c636c..3dcb21f142f5 100644
--- a/drivers/soc/qcom/icnss.c
+++ b/drivers/soc/qcom/icnss.c
@@ -1916,6 +1916,9 @@ static int icnss_call_driver_probe(struct icnss_priv *priv)
if (!priv->ops || !priv->ops->probe)
return 0;
+ if (test_bit(ICNSS_DRIVER_PROBED, &priv->state))
+ return -EINVAL;
+
icnss_pr_dbg("Calling driver probe state: 0x%lx\n", priv->state);
icnss_hw_power_on(priv);