wifi: mac80211: don't add VHT capa on links without them
authorJohannes Berg <johannes.berg@intel.com>
Wed, 28 Feb 2024 08:40:51 +0000 (09:40 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 4 Mar 2024 13:31:02 +0000 (14:31 +0100)
When a link doesn't have VHT capability, before the rework
we'd have set IEEE80211_CONN_DISABLE_VHT, but now with the
linear progression of 'mode', we no longer have that. Add
an explicit check for VHT being supported, so we don't add
a zeroed VHT capabilities element where it shouldn't be.

Fixes: 310c8387c638 ("wifi: mac80211: clean up connection process")
Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240228094207.bfe4283bcde7.Ib70a558bc6bdbcec3d9e663079229dfcc2493682@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/mlme.c

index c60d23da91fe3e08e35eaf808830d1dbb8e89186..a2dca15d9c2e7b522830a7c838cae1f27e5af7f4 100644 (file)
@@ -1319,7 +1319,8 @@ static size_t ieee80211_assoc_link_elems(struct ieee80211_sub_if_data *sdata,
                                                offset);
 
        if (sband->band != NL80211_BAND_6GHZ &&
-           assoc_data->link[link_id].conn.mode >= IEEE80211_CONN_MODE_VHT) {
+           assoc_data->link[link_id].conn.mode >= IEEE80211_CONN_MODE_VHT &&
+           sband->vht_cap.vht_supported) {
                bool mu_mimo_owner =
                        ieee80211_add_vht_ie(sdata, skb, sband,
                                             &assoc_data->link[link_id].ap_vht_cap,