mac80211/ath9k: fix duration calculation for short-guard-interval frames (thanks...
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 10 Mar 2010 01:09:17 +0000 (01:09 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 10 Mar 2010 01:09:17 +0000 (01:09 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20114 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/mac80211/patches/560-minstrel_ht.patch
package/mac80211/patches/580-ath9k_fix_duration_calculation.patch [new file with mode: 0644]

index 6c3d08eac2846cf9a2bc909d582b487c91ec5b07..2f2aa9d39829d9b9f679ff2fc424219ab3134a1f 100644 (file)
 +/* 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 (file)
index 0000000..219e4ee
--- /dev/null
@@ -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