Commit 31846b65 authored by Ilan Peer's avatar Ilan Peer Committed by Johannes Berg
Browse files

cfg80211: add NO-EHT flag to regulatory



This may be necessary in some cases, add a flag and propagate
it, just like the NO-HE that already exists.

Signed-off-by: default avatarIlan Peer <ilan.peer@intel.com>
[split off from a combined 320/no-EHT patch]
Link: https://lore.kernel.org/r/20220214173004.dbb85a7b86bb.Ifc1e2daac51c1cc5f895ccfb79faf5eaec3950ec@changeid


Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent c2b3d769
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -114,6 +114,7 @@ struct wiphy;
 *	channel as the control or any of the secondary channels.
 *	This may be due to the driver or due to regulatory bandwidth
 *	restrictions.
 * @IEEE80211_CHAN_NO_EHT: EHT operation is not permitted on this channel.
 */
enum ieee80211_channel_flags {
	IEEE80211_CHAN_DISABLED		= 1<<0,
@@ -136,6 +137,7 @@ enum ieee80211_channel_flags {
	IEEE80211_CHAN_8MHZ		= 1<<17,
	IEEE80211_CHAN_16MHZ		= 1<<18,
	IEEE80211_CHAN_NO_320MHZ	= 1<<19,
	IEEE80211_CHAN_NO_EHT		= 1<<20,
};

#define IEEE80211_CHAN_NO_HT40 \
+3 −0
Original line number Diff line number Diff line
@@ -3999,6 +3999,8 @@ enum nl80211_wmm_rule {
 *	on this channel in current regulatory domain.
 * @NL80211_FREQUENCY_ATTR_NO_320MHZ: any 320 MHz channel using this channel
 *	as the primary or any of the secondary channels isn't possible
 * @NL80211_FREQUENCY_ATTR_NO_EHT: EHT operation is not allowed on this channel
 *	in current regulatory domain.
 * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
 *	currently defined
 * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
@@ -4036,6 +4038,7 @@ enum nl80211_frequency_attr {
	NL80211_FREQUENCY_ATTR_8MHZ,
	NL80211_FREQUENCY_ATTR_16MHZ,
	NL80211_FREQUENCY_ATTR_NO_320MHZ,
	NL80211_FREQUENCY_ATTR_NO_EHT,

	/* keep last */
	__NL80211_FREQUENCY_ATTR_AFTER_LAST,
+3 −0
Original line number Diff line number Diff line
@@ -1159,6 +1159,9 @@ static int nl80211_msg_put_channel(struct sk_buff *msg, struct wiphy *wiphy,
		if ((chan->flags & IEEE80211_CHAN_NO_320MHZ) &&
		    nla_put_flag(msg, NL80211_FREQUENCY_ATTR_NO_320MHZ))
			goto nla_put_failure;
		if ((chan->flags & IEEE80211_CHAN_NO_EHT) &&
		    nla_put_flag(msg, NL80211_FREQUENCY_ATTR_NO_EHT))
			goto nla_put_failure;
	}

	if (nla_put_u32(msg, NL80211_FREQUENCY_ATTR_MAX_TX_POWER,