aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/mlme.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2022-07-17 18:16:51 +0200
committerJohannes Berg <johannes.berg@intel.com>2022-07-22 14:27:45 +0200
commit553a282cb25eb62fdda1f3425d48b12372366e03 (patch)
treeb6fe8e06555860cee89e6392959774535b490277 /net/mac80211/mlme.c
parentwifi: mac80211: tx: use AP address in some places for MLO (diff)
downloadlinux-dev-553a282cb25eb62fdda1f3425d48b12372366e03.tar.xz
linux-dev-553a282cb25eb62fdda1f3425d48b12372366e03.zip
wifi: mac80211: mlme: fix override calculation
In my previous changes here, I neglected to take the old conn_flags into account that might still be present from the authentication, and thus ieee80211_setup_assoc_link() can misbehave, as well as the override calculation being wrong. Fix that by ORing in the old flags. Fixes: 1845c1d4a455 ("wifi: mac80211: mlme: refactor assoc link setup") Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/mlme.c')
-rw-r--r--net/mac80211/mlme.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index ee1a72519c15..2d389e74c953 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -7048,6 +7048,8 @@ int ieee80211_mgd_assoc(struct ieee80211_sub_if_data *sdata,
goto err_clear;
}
+ /* keep old conn_flags from ieee80211_prep_channel() from auth */
+ conn_flags |= link->u.mgd.conn_flags;
conn_flags |= ieee80211_setup_assoc_link(sdata, assoc_data, req,
conn_flags, assoc_link_id);
override = link->u.mgd.conn_flags != conn_flags;