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
875875 * @RATE_INFO_FLAGS_VHT_MCS: mcs field filled with VHT MCS
876876 * @RATE_INFO_FLAGS_40_MHZ_WIDTH: 40 MHz width transmission
877877 * @RATE_INFO_FLAGS_80_MHZ_WIDTH: 80 MHz width transmission
878− * @RATE_INFO_FLAGS_80P80_MHZ_WIDTH: 80+80 MHz width transmission
879878 * @RATE_INFO_FLAGS_160_MHZ_WIDTH: 160 MHz width transmission
880879 * @RATE_INFO_FLAGS_SHORT_GI: 400ns guard interval
881880 * @RATE_INFO_FLAGS_60G: 60GHz MCS
@@ -885,10 +884,9 @@ enum rate_info_flags { · 3 unmodified lines
885884 RATE_INFO_FLAGS_VHT_MCS = BIT(1),
886885 RATE_INFO_FLAGS_40_MHZ_WIDTH = BIT(2),
887886 RATE_INFO_FLAGS_80_MHZ_WIDTH = BIT(3),
888− RATE_INFO_FLAGS_80P80_MHZ_WIDTH = BIT(4),
889− RATE_INFO_FLAGS_160_MHZ_WIDTH = BIT(5),
890− RATE_INFO_FLAGS_SHORT_GI = BIT(6),
891− RATE_INFO_FLAGS_60G = BIT(7),
887+ RATE_INFO_FLAGS_160_MHZ_WIDTH = BIT(4),
888+ RATE_INFO_FLAGS_SHORT_GI = BIT(5),
889+ RATE_INFO_FLAGS_60G = BIT(6),
892890 };
893891
894892 /**
include/uapi/linux/nl80211.h+2−1
@@ -2278,7 +2278,8 @@ struct nl80211_sta_flag_update { · 2277 unmodified lines
22782278 * @NL80211_RATE_INFO_VHT_MCS: MCS index for VHT (u8)
22792279 * @NL80211_RATE_INFO_VHT_NSS: number of streams in VHT (u8)
22802280 * @NL80211_RATE_INFO_80_MHZ_WIDTH: 80 MHz VHT rate
2281− * @NL80211_RATE_INFO_80P80_MHZ_WIDTH: 80+80 MHz VHT rate
2281+ * @NL80211_RATE_INFO_80P80_MHZ_WIDTH: unused - 80+80 is treated the
2282+ * same as 160 for purposes of the bitrates
22822283 * @NL80211_RATE_INFO_160_MHZ_WIDTH: 160 MHz VHT rate
22832284 * @__NL80211_RATE_INFO_AFTER_LAST: internal use
22842285 */
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
36143614 if (info->flags & RATE_INFO_FLAGS_80_MHZ_WIDTH &&
36153615 nla_put_flag(msg, NL80211_RATE_INFO_80_MHZ_WIDTH))
36163616 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;
36203617 if (info->flags & RATE_INFO_FLAGS_160_MHZ_WIDTH &&
36213618 nla_put_flag(msg, NL80211_RATE_INFO_160_MHZ_WIDTH))
36223619 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
10731073 if (WARN_ON_ONCE(rate->mcs > 9))
10741074 return 0;
10751075
1076− idx = rate->flags & (RATE_INFO_FLAGS_160_MHZ_WIDTH |
1077− RATE_INFO_FLAGS_80P80_MHZ_WIDTH) ? 3 :
1076+ idx = rate->flags & RATE_INFO_FLAGS_160_MHZ_WIDTH ? 3 :
10781077 rate->flags & RATE_INFO_FLAGS_80_MHZ_WIDTH ? 2 :
10791078 rate->flags & RATE_INFO_FLAGS_40_MHZ_WIDTH ? 1 : 0;
10801079