From: Johannes Berg EHT already required MLO, but with UHR this got more complex and we require the AP to have MLO to connection in UHR mode, for EHT we don't enforce it. However, if a UHR capable device is used with an old non-MLO wpa_supplicant (or other tools), we would attempt to make a non-MLO UHR connection to an AP (which has MLO in its beacon) only to then find that it's not MLO in the assoc response. Limit the station itself to EHT for non-MLO connections to avoid (potential) this issue. Fixes: 29eb4dc882d3 ("wifi: mac80211: mlme: allow UHR only with MLO") Reviewed-by: Ilan Peer Signed-off-by: Johannes Berg --- net/mac80211/mlme.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index 8eda8154ba3d..9119d094b548 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c @@ -6796,6 +6796,12 @@ ieee80211_determine_our_sta_mode(struct ieee80211_sub_if_data *sdata, goto out; } + if (req && !req->ap_mld_addr) { + mlme_link_id_dbg(sdata, link_id, + "UHR requires MLO, limiting to EHT\n"); + goto out; + } + uhr_cap = ieee80211_get_uhr_iftype_cap_vif(sband, &sdata->vif); if (!uhr_cap) { mlme_link_id_dbg(sdata, link_id, -- 2.56.0