]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
ath5k: ignore the return value of ath5k_hw_noise_floor_calibration
authorFelix Fietkau <nbd@openwrt.org>
Mon, 3 Nov 2008 10:27:38 +0000 (11:27 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sun, 18 Jan 2009 18:44:05 +0000 (10:44 -0800)
commit 8b0162a3dc5c30e862b7a73da29e32de3170f5e4 upstream.

Noise floor calibration occasionally fails on Atheros hardware.
This is not fatal and can happen if there's simply too much
noise on the air. Ignoring the calibration error is the right
thing to do here, because when the error is ignored, the hardware
will still work, whereas if the error causes the driver to bail out
of a bigger configuration function and does not configure the tx
queues or the IMR (as is the case in reset.c), the hw no longer
works properly until the next reset.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Cc: Bob Copeland <me@bobcopeland.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/net/wireless/ath5k/phy.c
drivers/net/wireless/ath5k/reset.c

index e43f6563e61a08ab6cbfcaaff1d455c6eb56e8f7..35c7eb14255717427a89e7841a9af5a8ca81c1d8 100644 (file)
@@ -2195,9 +2195,7 @@ static int ath5k_hw_rf5110_calibrate(struct ath5k_hw *ah,
                return ret;
        }
 
-       ret = ath5k_hw_noise_floor_calibration(ah, channel->center_freq);
-       if (ret)
-               return ret;
+       ath5k_hw_noise_floor_calibration(ah, channel->center_freq);
 
        /*
         * Re-enable RX/TX and beacons
index 1b6d45b6772db39c269752e1b5bbef4e328d6389..adcadaea027fd6952c2d4e72b2ca9c40d1fd6185 100644 (file)
@@ -842,9 +842,7 @@ int ath5k_hw_reset(struct ath5k_hw *ah, enum nl80211_iftype op_mode,
         *
         * XXX: Find an interval that's OK for all cards...
         */
-       ret = ath5k_hw_noise_floor_calibration(ah, channel->center_freq);
-       if (ret)
-               return ret;
+       ath5k_hw_noise_floor_calibration(ah, channel->center_freq);
 
        /*
         * Reset queues and start beacon timers at the end of the reset routine