wlcore: take the mutex before resetting Tx queues
authorArik Nemtsov <arik@wizery.com>
Tue, 27 Nov 2012 06:44:53 +0000 (08:44 +0200)
committerLuciano Coelho <coelho@ti.com>
Wed, 5 Dec 2012 07:41:47 +0000 (09:41 +0200)
Otherwise we risk contention for private members of our global structure
while op_stop_locked is running.

Reported-by: Ido Yariv <ido@wizery.com>
Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
drivers/net/wireless/ti/wlcore/main.c

index 3339216..63d3413 100644 (file)
@@ -1852,8 +1852,8 @@ static void wlcore_op_stop_locked(struct wl1271 *wl)
        cancel_delayed_work_sync(&wl->tx_watchdog_work);
 
        /* let's notify MAC80211 about the remaining pending TX frames */
-       wl12xx_tx_reset(wl);
        mutex_lock(&wl->mutex);
+       wl12xx_tx_reset(wl);
 
        wl1271_power_off(wl);
        /*