ath5k: merge calibration fixes from r30623, r30624
[openwrt-10.03/.git] / package / mac80211 / patches / 440-ath5k_calibrate_no_queue_stop.patch
1 --- a/drivers/net/wireless/ath/ath5k/base.c
2 +++ b/drivers/net/wireless/ath/ath5k/base.c
3 @@ -2330,15 +2330,6 @@ ath5k_calibrate_work(struct work_struct 
4                                         "got new rfgain, resetting\n");
5                         ieee80211_queue_work(ah->hw, &ah->reset_work);
6                 }
7 -
8 -               /* TODO: On full calibration we should stop TX here,
9 -                * so that it doesn't interfere (mostly due to gain_f
10 -                * calibration that messes with tx packets -see phy.c).
11 -                *
12 -                * NOTE: Stopping the queues from above is not enough
13 -                * to stop TX but saves us from disconecting (at least
14 -                * we don't lose packets). */
15 -               ieee80211_stop_queues(ah->hw);
16         } else
17                 ah->ah_cal_mask |= AR5K_CALIBRATION_SHORT;
18  
19 @@ -2353,10 +2344,9 @@ ath5k_calibrate_work(struct work_struct 
20                                 ah->curchan->center_freq));
21  
22         /* Clear calibration flags */
23 -       if (ah->ah_cal_mask & AR5K_CALIBRATION_FULL) {
24 -               ieee80211_wake_queues(ah->hw);
25 +       if (ah->ah_cal_mask & AR5K_CALIBRATION_FULL)
26                 ah->ah_cal_mask &= ~AR5K_CALIBRATION_FULL;
27 -       } else if (ah->ah_cal_mask & AR5K_CALIBRATION_SHORT)
28 +       else if (ah->ah_cal_mask & AR5K_CALIBRATION_SHORT)
29                 ah->ah_cal_mask &= ~AR5K_CALIBRATION_SHORT;
30  }
31