summaryrefslogtreecommitdiffstats
path: root/net/wireless
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2021-06-18 13:41:52 +0300
committerJohannes Berg <johannes.berg@intel.com>2021-06-23 13:05:09 +0200
commitf4f8650588d35deafaa4a4e28cceb3557a71e711 (patch)
treeb05ed032969142d96b48400653b8deb8f181ba88 /net/wireless
parent1b7b3ac8ff3317cdcf07a1c413de9bdb68019c2b (diff)
downloadlinux-stable-f4f8650588d35deafaa4a4e28cceb3557a71e711.tar.gz
linux-stable-f4f8650588d35deafaa4a4e28cceb3557a71e711.tar.bz2
linux-stable-f4f8650588d35deafaa4a4e28cceb3557a71e711.zip
cfg80211: allow advertising vendor-specific capabilities
There may be cases where vendor-specific elements need to be used over the air. Rather than have driver or firmware add them and possibly cause problems that way, add them to the iftype-data band capabilities. This way we can advertise to userspace first, and use them in mac80211 next. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Link: https://lore.kernel.org/r/iwlwifi.20210618133832.e8c4f0347276.Iee5964682b3e9ec51fc1cd57a7c62383eaf6ddd7@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/wireless')
-rw-r--r--net/wireless/nl80211.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index 4c61cf66fe05..50eb405b0690 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -1731,6 +1731,11 @@ nl80211_send_iftype_data(struct sk_buff *msg,
&iftdata->he_6ghz_capa))
return -ENOBUFS;
+ if (iftdata->vendor_elems.data && iftdata->vendor_elems.len &&
+ nla_put(msg, NL80211_BAND_IFTYPE_ATTR_VENDOR_ELEMS,
+ iftdata->vendor_elems.len, iftdata->vendor_elems.data))
+ return -ENOBUFS;
+
return 0;
}