aboutsummaryrefslogtreecommitdiffstats
path: root/package
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2010-03-10 01:09:17 +0000
committerFelix Fietkau <nbd@openwrt.org>2010-03-10 01:09:17 +0000
commitec9b5ca71bef8ad1d6413c081c034c9926551424 (patch)
tree52f2cd72ac695acef989fa277d3bab5b7361b555 /package
parent20e3190ee49db0e982e5c748b7395fa90887330b (diff)
downloadupstream-ec9b5ca71bef8ad1d6413c081c034c9926551424.tar.gz
upstream-ec9b5ca71bef8ad1d6413c081c034c9926551424.tar.bz2
upstream-ec9b5ca71bef8ad1d6413c081c034c9926551424.zip
mac80211/ath9k: fix duration calculation for short-guard-interval frames (thanks to Duy Nguyen for pointing this out)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20114 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package')
-rw-r--r--package/mac80211/patches/560-minstrel_ht.patch2
-rw-r--r--package/mac80211/patches/580-ath9k_fix_duration_calculation.patch14
2 files changed, 15 insertions, 1 deletions
diff --git a/package/mac80211/patches/560-minstrel_ht.patch b/package/mac80211/patches/560-minstrel_ht.patch
index 6c3d08eac2..2f2aa9d398 100644
--- a/package/mac80211/patches/560-minstrel_ht.patch
+++ b/package/mac80211/patches/560-minstrel_ht.patch
@@ -100,7 +100,7 @@
+/* Transmission time for a packet containing (syms) symbols */
+#define MCS_SYMBOL_TIME(sgi, syms) \
+ (sgi ? \
-+ ((syms) * 18 + 4) / 5 : /* syms * 3.6 us */ \
++ ((syms) * 18 + 4) / 6 : /* syms * 3.6 us */ \
+ (syms) << 2 /* syms * 4 us */ \
+ )
+
diff --git a/package/mac80211/patches/580-ath9k_fix_duration_calculation.patch b/package/mac80211/patches/580-ath9k_fix_duration_calculation.patch
new file mode 100644
index 0000000000..219e4ee363
--- /dev/null
+++ b/package/mac80211/patches/580-ath9k_fix_duration_calculation.patch
@@ -0,0 +1,14 @@
+--- a/drivers/net/wireless/ath/ath9k/xmit.c
++++ b/drivers/net/wireless/ath/ath9k/xmit.c
+@@ -27,9 +27,9 @@
+ #define HT_STF 4
+ #define HT_LTF(_ns) (4 * (_ns))
+ #define SYMBOL_TIME(_ns) ((_ns) << 2) /* ns * 4 us */
+-#define SYMBOL_TIME_HALFGI(_ns) (((_ns) * 18 + 4) / 5) /* ns * 3.6 us */
++#define SYMBOL_TIME_HALFGI(_ns) (((_ns) * 18 + 4) / 6) /* ns * 3.6 us */
+ #define NUM_SYMBOLS_PER_USEC(_usec) (_usec >> 2)
+-#define NUM_SYMBOLS_PER_USEC_HALFGI(_usec) (((_usec*5)-4)/18)
++#define NUM_SYMBOLS_PER_USEC_HALFGI(_usec) (((_usec*6)-4)/18)
+
+ #define OFDM_SIFS_TIME 16
+