aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2016-02-25 09:24:13 +0000
committerFelix Fietkau <nbd@openwrt.org>2016-02-25 09:24:13 +0000
commitf3349e14981fb4716a355bf9b53396f24562a7c1 (patch)
tree19d815d3e8e0184220fb92e95006f9d3c7c15634 /package/kernel/mac80211
parent09166290698126e4c07a591dd9f2952fef3630e2 (diff)
downloadmaster-187ad058-f3349e14981fb4716a355bf9b53396f24562a7c1.tar.gz
master-187ad058-f3349e14981fb4716a355bf9b53396f24562a7c1.tar.bz2
master-187ad058-f3349e14981fb4716a355bf9b53396f24562a7c1.zip
mac80211: fix an RTS/CTS issue in minstrel_ht
Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@48759 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/kernel/mac80211')
-rw-r--r--package/kernel/mac80211/patches/337-mac80211-minstrel_ht-fix-a-logic-error-in-RTS-CTS-ha.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/337-mac80211-minstrel_ht-fix-a-logic-error-in-RTS-CTS-ha.patch b/package/kernel/mac80211/patches/337-mac80211-minstrel_ht-fix-a-logic-error-in-RTS-CTS-ha.patch
new file mode 100644
index 0000000000..229351ba56
--- /dev/null
+++ b/package/kernel/mac80211/patches/337-mac80211-minstrel_ht-fix-a-logic-error-in-RTS-CTS-ha.patch
@@ -0,0 +1,26 @@
+From: Felix Fietkau <nbd@openwrt.org>
+Date: Wed, 24 Feb 2016 12:03:13 +0100
+Subject: [PATCH] mac80211: minstrel_ht: fix a logic error in RTS/CTS handling
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+RTS/CTS needs to be enabled if the rate is a fallback rate *or* if it's
+a dual-stream rate and the sta is in dynamic SMPS mode.
+
+Fixes: a3ebb4e1b763 ("mac80211: minstrel_ht: handle peers in dynamic SMPS")
+Reported-by: Matías Richart <mrichart@fing.edu.uy>
+Signed-off-by: Felix Fietkau <nbd@openwrt.org>
+---
+
+--- a/net/mac80211/rc80211_minstrel_ht.c
++++ b/net/mac80211/rc80211_minstrel_ht.c
+@@ -872,7 +872,7 @@ minstrel_ht_set_rate(struct minstrel_pri
+ * - if station is in dynamic SMPS (and streams > 1)
+ * - for fallback rates, to increase chances of getting through
+ */
+- if (offset > 0 &&
++ if (offset > 0 ||
+ (mi->sta->smps_mode == IEEE80211_SMPS_DYNAMIC &&
+ group->streams > 1)) {
+ ratetbl->rate[offset].count = ratetbl->rate[offset].count_rts;