Commit 1bd773c0 authored by Richard Schütz's avatar Richard Schütz Committed by Johannes Berg

wireless: set correct mandatory rate flags

According to IEEE Std 802.11-2016 (16.2.3.4 Long PHY SIGNAL field) all of
the following rates are mandatory for a HR/DSSS PHY: 1 Mb/s, 2 Mb/s,
5.5 Mb/s and 11 Mb/s. Set IEEE80211_RATE_MANDATORY_B flag for all of these
instead of just 1 Mb/s to correctly reflect this.
Signed-off-by: default avatarRichard Schütz <rschuetz@uni-koblenz.de>
[johannes: use switch statement]
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent d405fd8c
...@@ -157,32 +157,30 @@ static void set_mandatory_flags_band(struct ieee80211_supported_band *sband) ...@@ -157,32 +157,30 @@ static void set_mandatory_flags_band(struct ieee80211_supported_band *sband)
case NL80211_BAND_2GHZ: case NL80211_BAND_2GHZ:
want = 7; want = 7;
for (i = 0; i < sband->n_bitrates; i++) { for (i = 0; i < sband->n_bitrates; i++) {
if (sband->bitrates[i].bitrate == 10) { switch (sband->bitrates[i].bitrate) {
case 10:
case 20:
case 55:
case 110:
sband->bitrates[i].flags |= sband->bitrates[i].flags |=
IEEE80211_RATE_MANDATORY_B | IEEE80211_RATE_MANDATORY_B |
IEEE80211_RATE_MANDATORY_G; IEEE80211_RATE_MANDATORY_G;
want--; want--;
} break;
case 60:
if (sband->bitrates[i].bitrate == 20 || case 120:
sband->bitrates[i].bitrate == 55 || case 240:
sband->bitrates[i].bitrate == 110 ||
sband->bitrates[i].bitrate == 60 ||
sband->bitrates[i].bitrate == 120 ||
sband->bitrates[i].bitrate == 240) {
sband->bitrates[i].flags |= sband->bitrates[i].flags |=
IEEE80211_RATE_MANDATORY_G; IEEE80211_RATE_MANDATORY_G;
want--; want--;
} /* fall through */
default:
if (sband->bitrates[i].bitrate != 10 &&
sband->bitrates[i].bitrate != 20 &&
sband->bitrates[i].bitrate != 55 &&
sband->bitrates[i].bitrate != 110)
sband->bitrates[i].flags |= sband->bitrates[i].flags |=
IEEE80211_RATE_ERP_G; IEEE80211_RATE_ERP_G;
break;
}
} }
WARN_ON(want != 0 && want != 3 && want != 6); WARN_ON(want != 0 && want != 3);
break; break;
case NL80211_BAND_60GHZ: case NL80211_BAND_60GHZ:
/* check for mandatory HT MCS 1..4 */ /* check for mandatory HT MCS 1..4 */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment