ath9k: fix CTS timeout issues in 2.4 ghz

SVN-Revision: 30010
This commit is contained in:
Felix Fietkau 2012-02-03 10:23:55 +00:00
parent 99ab6e575a
commit 8a29665964
2 changed files with 22 additions and 1 deletions

View file

@ -0,0 +1,21 @@
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -1061,13 +1061,16 @@ void ath9k_hw_init_global_settings(struc
/*
* Workaround for early ACK timeouts, add an offset to match the
- * initval's 64us ack timeout value.
+ * initval's 64us ack timeout value. Use 48us for the CTS timeout.
* This was initially only meant to work around an issue with delayed
* BA frames in some implementations, but it has been found to fix ACK
* timeout issues in other cases as well.
*/
- if (conf->channel && conf->channel->band == IEEE80211_BAND_2GHZ)
+ if (conf->channel && conf->channel->band == IEEE80211_BAND_2GHZ) {
acktimeout += 64 - sifstime - ah->slottime;
+ ctstimeout += 48 - sifstime - ah->slottime;
+ }
+
ath9k_hw_set_sifs_time(ah, sifstime);
ath9k_hw_setslottime(ah, slottime);

View file

@ -203,7 +203,7 @@
if (btcoex->hw_timer_enabled)
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -1929,7 +1929,8 @@ int ath9k_hw_reset(struct ath_hw *ah, st
@@ -1932,7 +1932,8 @@ int ath9k_hw_reset(struct ath_hw *ah, st
#endif
}