ath9k: fix 5/10 mhz channel bandwidth issues
[openwrt/openwrt.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;