History

cfg80211: remove 80+80 MHz rate reporting

These rates are treated the same as 160 MHz in the spec, so it makes no sense to distinguish them. As no driver uses them yet, this is also not a problem, just remove them. In the userspace API the field remains reserved to preserve API and ABI.

Johannes Berg committed 11 years ago

Commit 97d910d1 parent f89903d4 files · +6 −11Browse files

Unified · Split

4 files
  1. include/net/cfg80211.h +3 −5
  2. include/uapi/linux/nl80211.h +2 −1
  3. net/wireless/nl80211.c +0 −3
  4. net/wireless/util.c +1 −2
include/net/cfg80211.h+3−5
@@ -875,7 +875,6 @@ int cfg80211_check_station_change(struct wiphy *wiphy, · 874 unmodified lines
875 * @RATE_INFO_FLAGS_VHT_MCS: mcs field filled with VHT MCS875 * @RATE_INFO_FLAGS_VHT_MCS: mcs field filled with VHT MCS
876 * @RATE_INFO_FLAGS_40_MHZ_WIDTH: 40 MHz width transmission876 * @RATE_INFO_FLAGS_40_MHZ_WIDTH: 40 MHz width transmission
877 * @RATE_INFO_FLAGS_80_MHZ_WIDTH: 80 MHz width transmission877 * @RATE_INFO_FLAGS_80_MHZ_WIDTH: 80 MHz width transmission
878 * @RATE_INFO_FLAGS_80P80_MHZ_WIDTH: 80+80 MHz width transmission
879 * @RATE_INFO_FLAGS_160_MHZ_WIDTH: 160 MHz width transmission878 * @RATE_INFO_FLAGS_160_MHZ_WIDTH: 160 MHz width transmission
880 * @RATE_INFO_FLAGS_SHORT_GI: 400ns guard interval879 * @RATE_INFO_FLAGS_SHORT_GI: 400ns guard interval
881 * @RATE_INFO_FLAGS_60G: 60GHz MCS880 * @RATE_INFO_FLAGS_60G: 60GHz MCS
@@ -885,10 +884,9 @@ enum rate_info_flags { · 3 unmodified lines
885 RATE_INFO_FLAGS_VHT_MCS = BIT(1),884 RATE_INFO_FLAGS_VHT_MCS = BIT(1),
886 RATE_INFO_FLAGS_40_MHZ_WIDTH = BIT(2),885 RATE_INFO_FLAGS_40_MHZ_WIDTH = BIT(2),
887 RATE_INFO_FLAGS_80_MHZ_WIDTH = BIT(3),886 RATE_INFO_FLAGS_80_MHZ_WIDTH = BIT(3),
888 RATE_INFO_FLAGS_80P80_MHZ_WIDTH = BIT(4),887 RATE_INFO_FLAGS_160_MHZ_WIDTH = BIT(4),
889 RATE_INFO_FLAGS_160_MHZ_WIDTH = BIT(5),888 RATE_INFO_FLAGS_SHORT_GI = BIT(5),
890 RATE_INFO_FLAGS_SHORT_GI = BIT(6),889 RATE_INFO_FLAGS_60G = BIT(6),
891 RATE_INFO_FLAGS_60G = BIT(7),
892};890};
893 891
894/**892/**
include/uapi/linux/nl80211.h+2−1
@@ -2278,7 +2278,8 @@ struct nl80211_sta_flag_update { · 2277 unmodified lines
2278 * @NL80211_RATE_INFO_VHT_MCS: MCS index for VHT (u8)2278 * @NL80211_RATE_INFO_VHT_MCS: MCS index for VHT (u8)
2279 * @NL80211_RATE_INFO_VHT_NSS: number of streams in VHT (u8)2279 * @NL80211_RATE_INFO_VHT_NSS: number of streams in VHT (u8)
2280 * @NL80211_RATE_INFO_80_MHZ_WIDTH: 80 MHz VHT rate2280 * @NL80211_RATE_INFO_80_MHZ_WIDTH: 80 MHz VHT rate
2281 * @NL80211_RATE_INFO_80P80_MHZ_WIDTH: 80+80 MHz VHT rate2281 * @NL80211_RATE_INFO_80P80_MHZ_WIDTH: unused - 80+80 is treated the
2282 * same as 160 for purposes of the bitrates
2282 * @NL80211_RATE_INFO_160_MHZ_WIDTH: 160 MHz VHT rate2283 * @NL80211_RATE_INFO_160_MHZ_WIDTH: 160 MHz VHT rate
2283 * @__NL80211_RATE_INFO_AFTER_LAST: internal use2284 * @__NL80211_RATE_INFO_AFTER_LAST: internal use
2284 */2285 */
net/wireless/nl80211.c+0−3
@@ -3614,9 +3614,6 @@ static bool nl80211_put_sta_rate(struct sk_buff *msg, struct rate_info *info, · 3613 unmodified lines
3614 if (info->flags & RATE_INFO_FLAGS_80_MHZ_WIDTH &&3614 if (info->flags & RATE_INFO_FLAGS_80_MHZ_WIDTH &&
3615 nla_put_flag(msg, NL80211_RATE_INFO_80_MHZ_WIDTH))3615 nla_put_flag(msg, NL80211_RATE_INFO_80_MHZ_WIDTH))
3616 return false;3616 return false;
3617 if (info->flags & RATE_INFO_FLAGS_80P80_MHZ_WIDTH &&
3618 nla_put_flag(msg, NL80211_RATE_INFO_80P80_MHZ_WIDTH))
3619 return false;
3620 if (info->flags & RATE_INFO_FLAGS_160_MHZ_WIDTH &&3617 if (info->flags & RATE_INFO_FLAGS_160_MHZ_WIDTH &&
3621 nla_put_flag(msg, NL80211_RATE_INFO_160_MHZ_WIDTH))3618 nla_put_flag(msg, NL80211_RATE_INFO_160_MHZ_WIDTH))
3622 return false;3619 return false;
net/wireless/util.c+1−2
@@ -1073,8 +1073,7 @@ static u32 cfg80211_calculate_bitrate_vht(struct rate_info *rate) · 1072 unmodified lines
1073 if (WARN_ON_ONCE(rate->mcs > 9))1073 if (WARN_ON_ONCE(rate->mcs > 9))
1074 return 0;1074 return 0;
1075 1075
1076 idx = rate->flags & (RATE_INFO_FLAGS_160_MHZ_WIDTH |1076 idx = rate->flags & RATE_INFO_FLAGS_160_MHZ_WIDTH ? 3 :
1077 RATE_INFO_FLAGS_80P80_MHZ_WIDTH) ? 3 :
1078 rate->flags & RATE_INFO_FLAGS_80_MHZ_WIDTH ? 2 :1077 rate->flags & RATE_INFO_FLAGS_80_MHZ_WIDTH ? 2 :
1079 rate->flags & RATE_INFO_FLAGS_40_MHZ_WIDTH ? 1 : 0;1078 rate->flags & RATE_INFO_FLAGS_40_MHZ_WIDTH ? 1 : 0;
1080 1079