]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-client.git/commitdiff
wifi: mac80211: handle VHT EXT NSS in ieee80211_determine_our_sta_mode()
authorNicolas Escande <nico.escande@gmail.com>
Fri, 27 Mar 2026 10:02:56 +0000 (11:02 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 7 Apr 2026 13:41:14 +0000 (15:41 +0200)
A station which has a NSS ratio on the number of streams it is capable of
in 160MHz VHT operation is supposed to use the 'Extended NSS BW Support'
as defined by section '9.4.2.156.2 VHT Capabilities Information field'.

This was missing in ieee80211_determine_our_sta_mode() and so we would
wrongfully downgrade our bandwidth when connecting to an AP that supported
160MHz with messages such as:

[   37.638346] wlan1: AP XX:XX:XX:XX:XX:XX changed bandwidth in assoc response, new used config is 5280.000 MHz, width 3 (5290.000/0 MHz)

Fixes: 310c8387c638 ("wifi: mac80211: clean up connection process")
Signed-off-by: Nicolas Escande <nico.escande@gmail.com>
Link: https://patch.msgid.link/20260327100256.3101348-1-nico.escande@gmail.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/mlme.c

index 7fc5616cb2446c141a36346ec0001620f209d739..285caaa2997e2beabebb35c8b67244a369626f72 100644 (file)
@@ -6085,7 +6085,8 @@ ieee80211_determine_our_sta_mode(struct ieee80211_sub_if_data *sdata,
 
        if (is_5ghz &&
            !(vht_cap.cap & (IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160MHZ |
-                            IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160_80PLUS80MHZ))) {
+                            IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160_80PLUS80MHZ |
+                            IEEE80211_VHT_CAP_EXT_NSS_BW_MASK))) {
                conn->bw_limit = IEEE80211_CONN_BW_LIMIT_80;
                mlme_link_id_dbg(sdata, link_id,
                                 "no VHT 160 MHz capability on 5 GHz, limiting to 80 MHz");