You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
1017 B
26 lines
1017 B
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;
|
|
|