wifi: mac80211: Fix setting vif links
authorIlan Peer <ilan.peer@intel.com>
Thu, 28 Sep 2023 14:35:31 +0000 (17:35 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 20 Nov 2023 10:59:02 +0000 (11:59 +0100)
[ Upstream commit e7182c4e6bbeafa272612e6c06fa92b42ad107ad ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/mac80211/link.c

index 6148208..16cbaea 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 */