aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211
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
commit06d97f8331f4d989e87815f1c25dc10ee90d6761 (patch)
treeb4c975c7c4818afc84dae478778e2d6f051d10fb /package/kernel/mac80211
parentee7266d7421075231e04fce09f7f07577c11ca6c (diff)
downloadupstream-06d97f8331f4d989e87815f1c25dc10ee90d6761.tar.gz
upstream-06d97f8331f4d989e87815f1c25dc10ee90d6761.tar.bz2
upstream-06d97f8331f4d989e87815f1c25dc10ee90d6761.zip
mac80211: fix VHT rate selection
Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43279 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/kernel/mac80211')
-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;