diff options
author | Arik Nemtsov <arik@wizery.com> | 2012-11-27 06:44:53 (GMT) |
---|---|---|
committer | Luciano Coelho <coelho@ti.com> | 2012-12-05 07:41:47 (GMT) |
commit | d935e385f88616fa867406de97521e07fe41539d (patch) | |
tree | b849b56910bd6cf8f3ad8dc9d5aa8c0f2349ab70 /drivers/net | |
parent | 4c145185175dcca660265d2fcdd4feffc0249f8e (diff) | |
download | linux-fsl-qoriq-d935e385f88616fa867406de97521e07fe41539d.tar.xz |
wlcore: take the mutex before resetting Tx queues
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>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wireless/ti/wlcore/main.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/wireless/ti/wlcore/main.c b/drivers/net/wireless/ti/wlcore/main.c index 3339216..63d3413 100644 --- a/drivers/net/wireless/ti/wlcore/main.c +++ b/drivers/net/wireless/ti/wlcore/main.c @@ -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); /* |