OSDN Git Service

cnss2: Clear flag CNSS_DRIVER_UNLOADING after unregister driver finished
authorKai Liu <kaliu@codeaurora.org>
Wed, 25 Jul 2018 03:36:46 +0000 (11:36 +0800)
committerKai Liu <kaliu@codeaurora.org>
Sun, 5 Aug 2018 14:04:53 +0000 (22:04 +0800)
Flag CNSS_DRIVER_UNLOADING is set when unregister wlan started, but it's
cleared in cnss_shutdown, which is also used in other call flow. Clear this
flag after unregister finished.

Change-Id: I0b5d63e5570c2604ff66d7852d7c7ca1c008a475
Signed-off-by: Kai Liu <kaliu@codeaurora.org>
drivers/net/wireless/cnss2/pci.c

index ff053b0..404890e 100644 (file)
@@ -398,8 +398,6 @@ static int cnss_qca6174_shutdown(struct cnss_pci_data *pci_priv)
 
        cnss_power_off_device(plat_priv);
 
-       clear_bit(CNSS_DRIVER_UNLOADING, &plat_priv->driver_state);
-
        return ret;
 }
 
@@ -516,7 +514,6 @@ static int cnss_qca6290_shutdown(struct cnss_pci_data *pci_priv)
 
        clear_bit(CNSS_FW_READY, &plat_priv->driver_state);
        clear_bit(CNSS_FW_MEM_READY, &plat_priv->driver_state);
-       clear_bit(CNSS_DRIVER_UNLOADING, &plat_priv->driver_state);
 
        return ret;
 }
@@ -757,6 +754,7 @@ int cnss_pci_unregister_driver_hdlr(struct cnss_pci_data *pci_priv)
        set_bit(CNSS_DRIVER_UNLOADING, &plat_priv->driver_state);
        cnss_pci_dev_shutdown(pci_priv);
        pci_priv->driver_ops = NULL;
+       clear_bit(CNSS_DRIVER_UNLOADING, &plat_priv->driver_state);
 
        return 0;
 }