]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: cfg80211: default S1G chandef width to 1MHz
authorLachlan Hodges <lachlan.hodges@morsemicro.com>
Tue, 21 Oct 2025 06:12:01 +0000 (17:12 +1100)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 27 Oct 2025 08:18:08 +0000 (09:18 +0100)
When management frames are passed down to be transmitted by usermode, often
times the NL80211_ATTR_CHANNEL_WIDTH is not used as its implied to be
transmitted on the control width. This can lead to errors during chandef
validation as the offsets from the channel center are wrong. Ensure we
initialise S1G chandefs to a width of 1MHz rather then 20MHz.

Signed-off-by: Lachlan Hodges <lachlan.hodges@morsemicro.com>
Link: https://patch.msgid.link/20251021061201.235754-1-lachlan.hodges@morsemicro.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/wireless/nl80211.c

index 346dfd2bd9879c44d35f518a8bdedba78018ab87..ceca47cd9e251e9425834d4c2a211ba90fc9b558 100644 (file)
@@ -3544,6 +3544,9 @@ static int _nl80211_parse_chandef(struct cfg80211_registered_device *rdev,
                return -EINVAL;
        }
 
+       if (cfg80211_chandef_is_s1g(chandef))
+               chandef->width = NL80211_CHAN_WIDTH_1;
+
        if (attrs[NL80211_ATTR_WIPHY_CHANNEL_TYPE]) {
                enum nl80211_channel_type chantype;