diff options
author | Felix Fietkau <nbd@openwrt.org> | 2016-02-25 09:24:13 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2016-02-25 09:24:13 +0000 |
commit | 3064f168639f51b294b06855751f85a4230fba99 (patch) | |
tree | f3bbfa5c25a3dd2e014c62fac1b950683e3f0f9f | |
parent | 2f7dcdec583315e05880c3a24ee6b63fa2f8f6ae (diff) | |
download | upstream-3064f168639f51b294b06855751f85a4230fba99.tar.gz upstream-3064f168639f51b294b06855751f85a4230fba99.tar.bz2 upstream-3064f168639f51b294b06855751f85a4230fba99.zip |
mac80211: fix an RTS/CTS issue in minstrel_ht
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 48759
-rw-r--r-- | package/kernel/mac80211/patches/337-mac80211-minstrel_ht-fix-a-logic-error-in-RTS-CTS-ha.patch | 26 |
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; |