summaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorArik Nemtsov <arik@wizery.com>2012-11-27 08:44:53 +0200
committerLuciano Coelho <coelho@ti.com>2012-12-05 09:41:47 +0200
commitd935e385f88616fa867406de97521e07fe41539d (patch)
treeb849b56910bd6cf8f3ad8dc9d5aa8c0f2349ab70 /drivers/net
parent4c145185175dcca660265d2fcdd4feffc0249f8e (diff)
downloadop-kernel-dev-d935e385f88616fa867406de97521e07fe41539d.zip
op-kernel-dev-d935e385f88616fa867406de97521e07fe41539d.tar.gz
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.c2
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);
/*
OpenPOWER on IntegriCloud