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: Richard Schütz <rschuetz@uni-koblenz.de> [johannes: use switch statement] Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
d405fd8cc8
commit
1bd773c077
|
@ -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 */
|
||||||
|
|
Loading…
Reference in New Issue