wifi: mac80211: Fix setting vif links
authorIlan Peer <ilan.peer@intel.com>
Thu, 28 Sep 2023 14:35:31 +0000 (17:35 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 23 Oct 2023 09:43:28 +0000 (11:43 +0200)
When setting the interface links, ignore the change iff both the
valid links and the dormant links did not change. This is needed
to support cases where the valid links didn't change but the dormant
links did.

Fixes: 6d543b34dbcf ("wifi: mac80211: Support disabled links during association")
Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230928172905.0357b6306587.I7dbfec347949b629fea680d246a650d6207ff217@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/link.c

index 76c61a132569f891c0e43f5dfc5c6fe06dffb2dc..bf7bd880d062394251165fbc2ad279b6d720164c 100644 (file)
@@ -195,7 +195,7 @@ static int ieee80211_vif_update_links(struct ieee80211_sub_if_data *sdata,
 
        memset(to_free, 0, sizeof(links));
 
-       if (old_links == new_links)
+       if (old_links == new_links && dormant_links == sdata->vif.dormant_links)
                return 0;
 
        /* if there were no old links, need to clear the pointers to deflink */