diff options
author | Johannes Berg | 2022-07-17 18:16:51 +0200 |
---|---|---|
committer | Johannes Berg | 2022-07-22 14:27:45 +0200 |
commit | 553a282cb25eb62fdda1f3425d48b12372366e03 (patch) | |
tree | b6fe8e06555860cee89e6392959774535b490277 | |
parent | 8a9be422f5ff34ec7abec289c6fe862d9e7864d2 (diff) |
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>
-rw-r--r-- | net/mac80211/mlme.c | 2 |
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; |