mac80211/ath9k: fix duration calculation for short-guard-interval frames (thanks to Duy Nguyen for pointing this out)

SVN-Revision: 20114
lede-17.01
Felix Fietkau 2010-03-10 01:09:17 +00:00
parent 56f94c0d2a
commit 3f733bc1ec
2 changed files with 15 additions and 1 deletions

View File

@ -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 */ \
+ )
+

View File

@ -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