modernize backfire 10.03 so it can be operational again
[openwrt-10.03/.git] / package / mac80211 / patches / 543-ath9k_fix_half_quarter_rx_latency.patch
1 --- a/drivers/net/wireless/ath/ath9k/hw.c
2 +++ b/drivers/net/wireless/ath/ath9k/hw.c
3 @@ -1006,16 +1006,26 @@ void ath9k_hw_init_global_settings(struc
4  
5         if (IS_CHAN_HALF_RATE(chan)) {
6                 eifs = 175;
7 -               rx_lat *= 2;
8 +
9 +               if (!AR_SREV_9300_20_OR_LATER(ah))
10 +                       rx_lat = 10;
11 +               else
12 +                       rx_lat *= 2;
13 +
14                 tx_lat *= 2;
15                 if (IS_CHAN_A_FAST_CLOCK(ah, chan))
16 -                   tx_lat += 11;
17 +                       tx_lat += 11;
18  
19                 slottime = 13;
20                 sifstime = 32;
21         } else if (IS_CHAN_QUARTER_RATE(chan)) {
22                 eifs = 340;
23 -               rx_lat = (rx_lat * 4) - 1;
24 +
25 +               if (!AR_SREV_9300_20_OR_LATER(ah))
26 +                       rx_lat = 20;
27 +               else
28 +                       rx_lat = (rx_lat * 4) - 1;
29 +
30                 tx_lat *= 4;
31                 if (IS_CHAN_A_FAST_CLOCK(ah, chan))
32                     tx_lat += 22;