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

Configure Feed

Select the types of activity you want to include in your feed.

wifi: mac80211: handle VHT EXT NSS in ieee80211_determine_our_sta_mode()

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>

authored by

Nicolas Escande and committed by
Johannes Berg
b5b8e295 c4ed2c3f

+2 -1
+2 -1
net/mac80211/mlme.c
··· 6085 6085 6086 6086 if (is_5ghz && 6087 6087 !(vht_cap.cap & (IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160MHZ | 6088 - IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160_80PLUS80MHZ))) { 6088 + IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160_80PLUS80MHZ | 6089 + IEEE80211_VHT_CAP_EXT_NSS_BW_MASK))) { 6089 6090 conn->bw_limit = IEEE80211_CONN_BW_LIMIT_80; 6090 6091 mlme_link_id_dbg(sdata, link_id, 6091 6092 "no VHT 160 MHz capability on 5 GHz, limiting to 80 MHz");