summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rt2x00
diff options
context:
space:
mode:
authorIvo van Doorn <ivdoorn@gmail.com>2007-09-25 20:57:04 +0200
committerDavid S. Miller <davem@sunset.davemloft.net>2007-10-11 01:53:05 +0200
commit25ab002f94c73d9f214130fe0e0a8065e7b55841 (patch)
tree5933c09de55a8504a9cb61883e822e20af46328d /drivers/net/wireless/rt2x00
parent[PATCH] rt2x00: make rt2x00lib_stop_link_tuner() reentrant with link_tuner work (diff)
downloadlinux-25ab002f94c73d9f214130fe0e0a8065e7b55841.tar.xz
linux-25ab002f94c73d9f214130fe0e0a8065e7b55841.zip
[PATCH] rt2x00: Stop link tuning when radio is down
As pointed out by Modestas Vainius the link tuner could continue working while the radio is already down. This because at the start of disable_radio the ENABLED_RADIO flag is cleared and causes the toggle_rx to skip the stop_link_tuner() call. This will add a check to the start of the link tuner which will automatically stop the link tuner when the radio is disabled. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rt2x00')
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00dev.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c
index e8c91fb71a52..92b725263578 100644
--- a/drivers/net/wireless/rt2x00/rt2x00dev.c
+++ b/drivers/net/wireless/rt2x00/rt2x00dev.c
@@ -237,6 +237,13 @@ static void rt2x00lib_link_tuner(struct work_struct *work)
container_of(work, struct rt2x00_dev, link.work.work);
/*
+ * When the radio is shutting down we should
+ * immediately cease all link tuning.
+ */
+ if (!test_bit(DEVICE_ENABLED_RADIO, &rt2x00dev->flags))
+ return;
+
+ /*
* Update statistics.
*/
rt2x00dev->ops->lib->link_stats(rt2x00dev);