aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/312-mac80211-skip-legacy-rate-mask-handling-for-VHT-rate.patch
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2014-11-16 11:39:07 +0000
committerFelix Fietkau <nbd@openwrt.org>2014-11-16 11:39:07 +0000
commitdd5959c114f25a1206e3875c2e4006f756bbb939 (patch)
treefa471de210c9b4192b8b136ca07adbc6cb404431 /package/kernel/mac80211/patches/312-mac80211-skip-legacy-rate-mask-handling-for-VHT-rate.patch
parent25d508dcd9d8edc46110ac34184d8e614f331b27 (diff)
downloadupstream-dd5959c114f25a1206e3875c2e4006f756bbb939.tar.gz
upstream-dd5959c114f25a1206e3875c2e4006f756bbb939.tar.bz2
upstream-dd5959c114f25a1206e3875c2e4006f756bbb939.zip
mac80211: fix VHT rate selection
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 43279
Diffstat (limited to 'package/kernel/mac80211/patches/312-mac80211-skip-legacy-rate-mask-handling-for-VHT-rate.patch')
-rw-r--r--package/kernel/mac80211/patches/312-mac80211-skip-legacy-rate-mask-handling-for-VHT-rate.patch22
1 files changed, 22 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/312-mac80211-skip-legacy-rate-mask-handling-for-VHT-rate.patch b/package/kernel/mac80211/patches/312-mac80211-skip-legacy-rate-mask-handling-for-VHT-rate.patch
new file mode 100644
index 0000000000..23957afccc
--- /dev/null
+++ b/package/kernel/mac80211/patches/312-mac80211-skip-legacy-rate-mask-handling-for-VHT-rate.patch
@@ -0,0 +1,22 @@
+From: Felix Fietkau <nbd@openwrt.org>
+Date: Sat, 15 Nov 2014 03:45:56 +0100
+Subject: [PATCH] mac80211: skip legacy rate mask handling for VHT rates
+
+The rate mask code currently assumes that a rate is legacy if
+IEEE80211_TX_RC_MCS is not set. This might be the cause of bogus VHT
+rates being reported with minstrel_ht.
+
+Signed-off-by: Felix Fietkau <nbd@openwrt.org>
+---
+
+--- a/net/mac80211/rate.c
++++ b/net/mac80211/rate.c
+@@ -385,7 +385,7 @@ static void rate_idx_match_mask(struct i
+ *rate = alt_rate;
+ return;
+ }
+- } else {
++ } else if (!(rate->flags & IEEE80211_TX_RC_VHT_MCS)) {
+ /* handle legacy rates */
+ if (rate_idx_match_legacy_mask(rate, sband->n_bitrates, mask))
+ return;