[PATCH] rt2x00: Stop link tuning when radio is down
authorIvo van Doorn <ivdoorn@gmail.com>
Tue, 25 Sep 2007 18:57:04 +0000 (20:57 +0200)
committerDavid S. Miller <davem@sunset.davemloft.net>
Wed, 10 Oct 2007 23:53:05 +0000 (16:53 -0700)
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>
drivers/net/wireless/rt2x00/rt2x00dev.c

index e8c91fb71a52de6bf3f3f95a7eed15ec0ceb5cee..92b72526357842f5aef26ccd502109cdf256a46b 100644 (file)
@@ -236,6 +236,13 @@ static void rt2x00lib_link_tuner(struct work_struct *work)
        struct rt2x00_dev *rt2x00dev =
            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.
         */