diff options
-rw-r--r-- | drivers/net/wireless/ath/ath5k/base.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/net/wireless/ath/ath5k/base.c b/drivers/net/wireless/ath/ath5k/base.c index 3d854f0853ac..78a0c420c494 100644 --- a/drivers/net/wireless/ath/ath5k/base.c +++ b/drivers/net/wireless/ath/ath5k/base.c | |||
@@ -2786,10 +2786,6 @@ ath5k_tasklet_calibrate(unsigned long data) | |||
2786 | /* Only full calibration for now */ | 2786 | /* Only full calibration for now */ |
2787 | ah->ah_cal_mask |= AR5K_CALIBRATION_FULL; | 2787 | ah->ah_cal_mask |= AR5K_CALIBRATION_FULL; |
2788 | 2788 | ||
2789 | /* Stop queues so that calibration | ||
2790 | * doesn't interfere with tx */ | ||
2791 | ieee80211_stop_queues(sc->hw); | ||
2792 | |||
2793 | ATH5K_DBG(sc, ATH5K_DEBUG_CALIBRATE, "channel %u/%x\n", | 2789 | ATH5K_DBG(sc, ATH5K_DEBUG_CALIBRATE, "channel %u/%x\n", |
2794 | ieee80211_frequency_to_channel(sc->curchan->center_freq), | 2790 | ieee80211_frequency_to_channel(sc->curchan->center_freq), |
2795 | sc->curchan->hw_value); | 2791 | sc->curchan->hw_value); |
@@ -2807,8 +2803,13 @@ ath5k_tasklet_calibrate(unsigned long data) | |||
2807 | ieee80211_frequency_to_channel( | 2803 | ieee80211_frequency_to_channel( |
2808 | sc->curchan->center_freq)); | 2804 | sc->curchan->center_freq)); |
2809 | 2805 | ||
2806 | /* TODO: We don't need to run noise floor calibration as often | ||
2807 | * as I/Q calibration.*/ | ||
2808 | |||
2809 | /* Noise floor calibration interrupts rx/tx path while I/Q calibration | ||
2810 | * doesn't. Stop queues so that calibration doesn't interfere with tx */ | ||
2811 | ieee80211_stop_queues(sc->hw); | ||
2810 | ath5k_hw_update_noise_floor(ah); | 2812 | ath5k_hw_update_noise_floor(ah); |
2811 | /* Wake queues */ | ||
2812 | ieee80211_wake_queues(sc->hw); | 2813 | ieee80211_wake_queues(sc->hw); |
2813 | 2814 | ||
2814 | ah->ah_cal_mask &= ~AR5K_CALIBRATION_FULL; | 2815 | ah->ah_cal_mask &= ~AR5K_CALIBRATION_FULL; |