summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/rt2x00/rt2x00dev.c
diff options
context:
space:
mode:
authorPavel Roskin <proski@gnu.org>2009-08-02 14:30:15 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-08-04 16:44:24 -0400
commitd8cc8926e9b4dc2ce513ee3325bf16b4ea6d94e8 (patch)
tree4ec925d139de91b7aaa8df58f705a958afe2993f /drivers/net/wireless/rt2x00/rt2x00dev.c
parent117839bd1251dc654938c529c95c7611ac260351 (diff)
rt2x00: cancel all work on disconnect
Signed-off-by: Pavel Roskin <proski@gnu.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00dev.c')
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00dev.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c
index b717afbf3f38..db54fcc94c8f 100644
--- a/drivers/net/wireless/rt2x00/rt2x00dev.c
+++ b/drivers/net/wireless/rt2x00/rt2x00dev.c
@@ -893,6 +893,12 @@ void rt2x00lib_remove_dev(struct rt2x00_dev *rt2x00dev)
rt2x00lib_disable_radio(rt2x00dev);
/*
+ * Stop all work.
+ */
+ cancel_work_sync(&rt2x00dev->filter_work);
+ cancel_work_sync(&rt2x00dev->intf_work);
+
+ /*
* Uninitialize device.
*/
rt2x00lib_uninitialize(rt2x00dev);