[PATCH] rt2x00: Correct error in calculating rssi for link tuner
authorIvo van Doorn <ivdoorn@gmail.com>
Tue, 25 Sep 2007 18:53:20 +0000 (20:53 +0200)
committerDavid S. Miller <davem@sunset.davemloft.net>
Wed, 10 Oct 2007 23:53:01 +0000 (16:53 -0700)
The call to rt2x00lib_precalculate_link_signal resets link.rx_success
which is needed when calculating the average rssi for the link
tuner. Change the call order so the link tuner runs first as it
doesn't need the result of the precalculate.

Signed-off-by: Adam Baker <linux@baker-net.org.uk>
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 bbccb8933876a27285182652807d05dea200bb58..4f66adc5b09c7217d60c37d19a7fa25ae3108cf3 100644 (file)
@@ -242,8 +242,6 @@ static void rt2x00lib_link_tuner(struct work_struct *work)
        rt2x00dev->low_level_stats.dot11FCSErrorCount +=
            rt2x00dev->link.rx_failed;
 
-       rt2x00lib_precalculate_link_signal(&rt2x00dev->link);
-
        /*
         * Only perform the link tuning when Link tuning
         * has been enabled (This could have been disabled from the EEPROM).
@@ -251,6 +249,12 @@ static void rt2x00lib_link_tuner(struct work_struct *work)
        if (!test_bit(CONFIG_DISABLE_LINK_TUNING, &rt2x00dev->flags))
                rt2x00dev->ops->lib->link_tuner(rt2x00dev);
 
+       /*
+        * Precalculate a portion of the link signal which is
+        * in based on the tx/rx success/failure counters.
+        */
+       rt2x00lib_precalculate_link_signal(&rt2x00dev->link);
+
        /*
         * Increase tuner counter, and reschedule the next link tuner run.
         */