diff options
Diffstat (limited to 'package/mac80211/patches')
-rw-r--r-- | package/mac80211/patches/560-ath9k_rate_control_api.patch | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/package/mac80211/patches/560-ath9k_rate_control_api.patch b/package/mac80211/patches/560-ath9k_rate_control_api.patch index a9e4e51124..219bd8b167 100644 --- a/package/mac80211/patches/560-ath9k_rate_control_api.patch +++ b/package/mac80211/patches/560-ath9k_rate_control_api.patch @@ -1197,3 +1197,62 @@ stats->success++; } +--- a/drivers/net/wireless/ath/ath9k/hw.c ++++ b/drivers/net/wireless/ath/ath9k/hw.c +@@ -149,22 +149,19 @@ bool ath9k_get_channel_edges(struct ath_ + } + + u16 ath9k_hw_computetxtime(struct ath_hw *ah, +- const struct ath_rate_table *rates, ++ u8 phy, int kbps, + u32 frameLen, u16 rateix, + bool shortPreamble) + { + u32 bitsPerSymbol, numBits, numSymbols, phyTime, txTime; +- u32 kbps; +- +- kbps = rates->info[rateix].ratekbps; + + if (kbps == 0) + return 0; + +- switch (rates->info[rateix].phy) { ++ switch (phy) { + case WLAN_RC_PHY_CCK: + phyTime = CCK_PREAMBLE_BITS + CCK_PLCP_BITS; +- if (shortPreamble && rates->info[rateix].short_preamble) ++ if (shortPreamble) + phyTime >>= 1; + numBits = frameLen << 3; + txTime = CCK_SIFS_TIME + phyTime + ((numBits * 1000) / kbps); +@@ -195,8 +192,7 @@ u16 ath9k_hw_computetxtime(struct ath_hw + break; + default: + ath_print(ath9k_hw_common(ah), ATH_DBG_FATAL, +- "Unknown phy %u (rate ix %u)\n", +- rates->info[rateix].phy, rateix); ++ "Unknown phy %u (rate ix %u)\n", phy, rateix); + txTime = 0; + break; + } +--- a/drivers/net/wireless/ath/ath9k/hw.h ++++ b/drivers/net/wireless/ath/ath9k/hw.h +@@ -670,7 +670,7 @@ bool ath9k_hw_wait(struct ath_hw *ah, u3 + u32 ath9k_hw_reverse_bits(u32 val, u32 n); + bool ath9k_get_channel_edges(struct ath_hw *ah, u16 flags, u16 *low, u16 *high); + u16 ath9k_hw_computetxtime(struct ath_hw *ah, +- const struct ath_rate_table *rates, ++ u8 phy, int kbps, + u32 frameLen, u16 rateix, bool shortPreamble); + void ath9k_hw_get_channel_centers(struct ath_hw *ah, + struct ath9k_channel *chan, +--- a/drivers/net/wireless/ath/ath9k/mac.h ++++ b/drivers/net/wireless/ath/ath9k/mac.h +@@ -616,7 +616,6 @@ enum ath9k_cipher { + + struct ath_hw; + struct ath9k_channel; +-struct ath_rate_table; + + u32 ath9k_hw_gettxbuf(struct ath_hw *ah, u32 q); + void ath9k_hw_puttxbuf(struct ath_hw *ah, u32 q, u32 txdp); |