From 93029831bd37c7cc4db910b14e4b8293c6cdecd7 Mon Sep 17 00:00:00 2001 From: Sandeep Singh Date: Thu, 3 Sep 2020 18:46:47 +0530 Subject: [PATCH] icnss: Allow register/unregister driver execution in serial manner In cases when wlan driver probe is in progress, icnss driver rejects wlan driver unregister as driver probe is not completed. This change enables wlan unregister driver to get scheduled in icnss driver wq if wlan driver has been regsitered. This ensures that wlan unregister and register driver get executed in serial manner. In cases when driver probe is in progress and wlan driver unregister gets called, unregister driver will be processed when wlan driver probe is finished. Change-Id: I0266723d081e9036ecbec122c56be8dfe3c3d1bb Signed-off-by: Sandeep Singh --- drivers/soc/qcom/icnss2/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/soc/qcom/icnss2/main.c b/drivers/soc/qcom/icnss2/main.c index 6fa5ade98411..d46cb1b46c3a 100644 --- a/drivers/soc/qcom/icnss2/main.c +++ b/drivers/soc/qcom/icnss2/main.c @@ -2030,7 +2030,7 @@ int icnss_unregister_driver(struct icnss_driver_ops *ops) icnss_pr_dbg("Unregistering driver, state: 0x%lx\n", priv->state); - if (!priv->ops || (!test_bit(ICNSS_DRIVER_PROBED, &penv->state))) { + if (!priv->ops) { icnss_pr_err("Driver not registered\n"); ret = -ENOENT; goto out;