Signed-off-by: Luis R. Rodriguez <lrodriguez@xxxxxxxxxxx> --- include/linux/nl80211.h | 15 +++++++++++++++ net/wireless/nl80211.c | 6 ++++++ 2 files changed, 21 insertions(+), 0 deletions(-) diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h index 3924fe4..f00ebff 100644 --- a/include/linux/nl80211.h +++ b/include/linux/nl80211.h @@ -671,6 +671,15 @@ enum nl80211_band_attr { * @NL80211_FREQUENCY_ATTR_MAX_TX_POWER: Maximum transmission power in mBm * (100 * dBm). * @NL80211_FREQUENCY_ATTR_MAX_BANDWIDTH: max bandwidth allowed, given in MHz + * @NL80211_FREQUENCY_ATTR_NOHT40: HT40 operation is not permitted on + * this channel, this is would indicate the regulatory domain did + * not allow for HT40 operation. + * @NL80211_FREQUENCY_ATTR_NO_HT40MINUS: HT40- operation is not permitted on + * this channel. This could be due to regulatory domain restrictions or + * when the channel is on a band edge, towards the beginning. + * @NL80211_FREQUENCY_ATTR_NO_HT40PLUS: HT40+ operation is not permitted on + * this channel. This could be due to regulatory domain restrictions or + * when the channel is on a band edge, towards the end. */ enum nl80211_frequency_attr { __NL80211_FREQUENCY_ATTR_INVALID, @@ -681,6 +690,9 @@ enum nl80211_frequency_attr { NL80211_FREQUENCY_ATTR_RADAR, NL80211_FREQUENCY_ATTR_MAX_TX_POWER, NL80211_FREQUENCY_ATTR_MAX_BANDWIDTH, + NL80211_FREQUENCY_ATTR_NO_HT40, + NL80211_FREQUENCY_ATTR_NO_HT40MINUS, + NL80211_FREQUENCY_ATTR_NO_HT40PLUS, /* keep last */ __NL80211_FREQUENCY_ATTR_AFTER_LAST, @@ -689,6 +701,9 @@ enum nl80211_frequency_attr { #define NL80211_FREQUENCY_ATTR_MAX_TX_POWER NL80211_FREQUENCY_ATTR_MAX_TX_POWER #define NL80211_FREQUENCY_ATTR_MAX_BANDWIDTH NL80211_FREQUENCY_ATTR_MAX_BANDWIDTH +#define NL80211_FREQUENCY_ATTR_NO_HT40 NL80211_FREQUENCY_ATTR_NO_HT40 +#define NL80211_FREQUENCY_ATTR_NO_HT40MINUS NL80211_FREQUENCY_ATTR_NO_HT40MINUS +#define NL80211_FREQUENCY_ATTR_NO_HT40PLUS NL80211_FREQUENCY_ATTR_NO_HT40PLUS /** * enum nl80211_bitrate_attr - bitrate attributes diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index e2727ee..108e1ee 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c @@ -208,6 +208,12 @@ static int nl80211_send_wiphy(struct sk_buff *msg, u32 pid, u32 seq, int flags, NLA_PUT_FLAG(msg, NL80211_FREQUENCY_ATTR_NO_IBSS); if (chan->flags & IEEE80211_CHAN_RADAR) NLA_PUT_FLAG(msg, NL80211_FREQUENCY_ATTR_RADAR); + if (chan->flags & IEEE80211_CHAN_NO_HT40) + NLA_PUT_FLAG(msg, NL80211_FREQUENCY_ATTR_NO_HT40); + if (chan->flags & IEEE80211_CHAN_NO_HT40MINUS) + NLA_PUT_FLAG(msg, NL80211_FREQUENCY_ATTR_NO_HT40MINUS); + if (chan->flags & IEEE80211_CHAN_NO_HT40PLUS) + NLA_PUT_FLAG(msg, NL80211_FREQUENCY_ATTR_NO_HT40PLUS); NLA_PUT_U32(msg, NL80211_FREQUENCY_ATTR_MAX_TX_POWER, DBM_TO_MBM(chan->max_power)); NLA_PUT_U32(msg, NL80211_FREQUENCY_ATTR_MAX_BANDWIDTH, -- 1.6.0.6 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html