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 <sandsing@codeaurora.org>
This commit is contained in:
Sandeep Singh 2020-09-03 18:46:47 +05:30
commit 93029831bd

View file

@ -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;