If mwifiex_shutdown_drv() is racing with another mwifiex_shutdown_drv(),
we *really* have problems. Kill the lock.

Signed-off-by: Brian Norris <briannor...@chromium.org>
---
 drivers/net/wireless/marvell/mwifiex/init.c | 4 ----
 drivers/net/wireless/marvell/mwifiex/main.h | 2 --
 2 files changed, 6 deletions(-)

diff --git a/drivers/net/wireless/marvell/mwifiex/init.c 
b/drivers/net/wireless/marvell/mwifiex/init.c
index 2ada202c72ec..2bff87bd76a6 100644
--- a/drivers/net/wireless/marvell/mwifiex/init.c
+++ b/drivers/net/wireless/marvell/mwifiex/init.c
@@ -439,7 +439,6 @@ int mwifiex_init_lock_list(struct mwifiex_adapter *adapter)
        struct mwifiex_private *priv;
        s32 i, j;
 
-       spin_lock_init(&adapter->mwifiex_lock);
        spin_lock_init(&adapter->int_lock);
        spin_lock_init(&adapter->main_proc_lock);
        spin_lock_init(&adapter->mwifiex_cmd_lock);
@@ -693,11 +692,8 @@ mwifiex_shutdown_drv(struct mwifiex_adapter *adapter)
 
        spin_unlock_irqrestore(&adapter->rx_proc_lock, flags);
 
-       spin_lock(&adapter->mwifiex_lock);
-
        mwifiex_adapter_cleanup(adapter);
 
-       spin_unlock(&adapter->mwifiex_lock);
        adapter->hw_status = MWIFIEX_HW_STATUS_NOT_READY;
 }
 
diff --git a/drivers/net/wireless/marvell/mwifiex/main.h 
b/drivers/net/wireless/marvell/mwifiex/main.h
index bb2a467d8b13..66c184936c95 100644
--- a/drivers/net/wireless/marvell/mwifiex/main.h
+++ b/drivers/net/wireless/marvell/mwifiex/main.h
@@ -870,8 +870,6 @@ struct mwifiex_adapter {
        bool rx_locked;
        bool main_locked;
        struct mwifiex_bss_prio_tbl bss_prio_tbl[MWIFIEX_MAX_BSS_NUM];
-       /* spin lock for init/shutdown */
-       spinlock_t mwifiex_lock;
        /* spin lock for main process */
        spinlock_t main_proc_lock;
        u32 mwifiex_processing;
-- 
2.13.0.rc2.291.g57267f2277-goog

Reply via email to