337-mac80211-minstrel_ht-fix-a-logic-error-in-RTS-CTS-ha.patch 1017 B

1234567891011121314151617181920212223242526
  1. From: Felix Fietkau <nbd@openwrt.org>
  2. Date: Wed, 24 Feb 2016 12:03:13 +0100
  3. Subject: [PATCH] mac80211: minstrel_ht: fix a logic error in RTS/CTS handling
  4. MIME-Version: 1.0
  5. Content-Type: text/plain; charset=UTF-8
  6. Content-Transfer-Encoding: 8bit
  7. RTS/CTS needs to be enabled if the rate is a fallback rate *or* if it's
  8. a dual-stream rate and the sta is in dynamic SMPS mode.
  9. Fixes: a3ebb4e1b763 ("mac80211: minstrel_ht: handle peers in dynamic SMPS")
  10. Reported-by: Matías Richart <mrichart@fing.edu.uy>
  11. Signed-off-by: Felix Fietkau <nbd@openwrt.org>
  12. ---
  13. --- a/net/mac80211/rc80211_minstrel_ht.c
  14. +++ b/net/mac80211/rc80211_minstrel_ht.c
  15. @@ -872,7 +872,7 @@ minstrel_ht_set_rate(struct minstrel_pri
  16. * - if station is in dynamic SMPS (and streams > 1)
  17. * - for fallback rates, to increase chances of getting through
  18. */
  19. - if (offset > 0 &&
  20. + if (offset > 0 ||
  21. (mi->sta->smps_mode == IEEE80211_SMPS_DYNAMIC &&
  22. group->streams > 1)) {
  23. ratetbl->rate[offset].count = ratetbl->rate[offset].count_rts;