Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

wifi: cfg80211: support configuration of S1G station capabilities

Currently there is no support for initialising a peers S1G capabilities,
this patch adds support for configuring an S1G station.

Signed-off-by: Lachlan Hodges <lachlan.hodges@morsemicro.com>
Link: https://patch.msgid.link/20250617080610.756048-2-lachlan.hodges@morsemicro.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>

authored by

Lachlan Hodges and committed by
Johannes Berg
5ea25567 407bc77b

+11 -1
+3 -1
include/net/cfg80211.h
··· 560 560 * @vht_cap: VHT capabilities in this band 561 561 * @s1g_cap: S1G capabilities in this band 562 562 * @edmg_cap: EDMG capabilities in this band 563 - * @s1g_cap: S1G capabilities in this band (S1B band only, of course) 563 + * @s1g_cap: S1G capabilities in this band (S1G band only, of course) 564 564 * @n_iftype_data: number of iftype data entries 565 565 * @iftype_data: interface type data entries. Note that the bits in 566 566 * @types_mask inside this structure cannot overlap (i.e. only ··· 1653 1653 * @he_6ghz_capa: HE 6 GHz Band capabilities of station 1654 1654 * @eht_capa: EHT capabilities of station 1655 1655 * @eht_capa_len: the length of the EHT capabilities 1656 + * @s1g_capa: S1G capabilities of station 1656 1657 */ 1657 1658 struct link_station_parameters { 1658 1659 const u8 *mld_mac; ··· 1672 1671 const struct ieee80211_he_6ghz_capa *he_6ghz_capa; 1673 1672 const struct ieee80211_eht_cap_elem *eht_capa; 1674 1673 u8 eht_capa_len; 1674 + const struct ieee80211_s1g_cap *s1g_capa; 1675 1675 }; 1676 1676 1677 1677 /**
+8
net/wireless/nl80211.c
··· 7856 7856 } 7857 7857 } 7858 7858 7859 + if (info->attrs[NL80211_ATTR_S1G_CAPABILITY]) 7860 + params->link_sta_params.s1g_capa = 7861 + nla_data(info->attrs[NL80211_ATTR_S1G_CAPABILITY]); 7862 + 7859 7863 err = nl80211_parse_sta_channel_info(info, params); 7860 7864 if (err) 7861 7865 return err; ··· 8185 8181 if (info->attrs[NL80211_ATTR_HE_6GHZ_CAPABILITY]) 8186 8182 params.link_sta_params.he_6ghz_capa = 8187 8183 nla_data(info->attrs[NL80211_ATTR_HE_6GHZ_CAPABILITY]); 8184 + 8185 + if (info->attrs[NL80211_ATTR_S1G_CAPABILITY]) 8186 + params.link_sta_params.s1g_capa = 8187 + nla_data(info->attrs[NL80211_ATTR_S1G_CAPABILITY]); 8188 8188 8189 8189 if (info->attrs[NL80211_ATTR_OPMODE_NOTIF]) { 8190 8190 params.link_sta_params.opmode_notif_used = true;