diff options
author | Andrei Otcheretianski <andrei.otcheretianski@intel.com> | 2013-10-14 04:46:55 -0400 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-10-15 09:16:12 -0400 |
commit | 1431fcb74eb5c67d3c38db5e5fe60b726c204273 (patch) | |
tree | 39e8cfe7651e2491e775b40d26e023852def93af /net/mac80211/rate.c | |
parent | d86aa4f8ca58898ec6a94c0635da20b948171ed7 (diff) |
mac80211: fix honouring rate flags in low-rate transmit
Transmissions with the IEEE80211_TX_CTL_NO_CCK_RATE flag set
(which can come from userspace) were no longer guaranteed to
be transmitted with allowed rates since commit 2103dec14792b
("mac80211: select and adjust bitrates according to channel
mode") due to a missing rate_flags check in that commit. The
commit also introduced the need to check the 5/10 MHz flags
but accidentally didn't. Fix it by adding the missing check.
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/rate.c')
-rw-r--r-- | net/mac80211/rate.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/mac80211/rate.c b/net/mac80211/rate.c index e126605cec66..7f7ce1173bf6 100644 --- a/net/mac80211/rate.c +++ b/net/mac80211/rate.c | |||
@@ -247,6 +247,9 @@ static void __rate_control_send_low(struct ieee80211_hw *hw, | |||
247 | 247 | ||
248 | info->control.rates[0].idx = 0; | 248 | info->control.rates[0].idx = 0; |
249 | for (i = 0; i < sband->n_bitrates; i++) { | 249 | for (i = 0; i < sband->n_bitrates; i++) { |
250 | if ((rate_flags & sband->bitrates[i].flags) != rate_flags) | ||
251 | continue; | ||
252 | |||
250 | if (!rate_supported(sta, sband->band, i)) | 253 | if (!rate_supported(sta, sband->band, i)) |
251 | continue; | 254 | continue; |
252 | 255 | ||