From: Johannes Berg When releasing links (link BSSes) the valid_links must also be updated, so move that into cfg80211_wdev_release_link_bsses(). Reviewed-by: Miriam Rachel Korenblit Signed-off-by: Johannes Berg --- net/wireless/nl80211.c | 1 - net/wireless/sme.c | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index 2fc680382418..d311fd690f50 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c @@ -22224,7 +22224,6 @@ void cfg80211_links_removed(struct net_device *dev, u16 link_mask) return; cfg80211_wdev_release_link_bsses(wdev, link_mask); - wdev->valid_links &= ~link_mask; msg = nlmsg_new(NLMSG_DEFAULT_SIZE, GFP_KERNEL); if (!msg) diff --git a/net/wireless/sme.c b/net/wireless/sme.c index b481d31dd8cc..eb218d3fd9b0 100644 --- a/net/wireless/sme.c +++ b/net/wireless/sme.c @@ -491,6 +491,8 @@ void cfg80211_wdev_release_link_bsses(struct wireless_dev *wdev, u16 link_mask) &wdev->links[link].client.current_bss->pub); wdev->links[link].client.current_bss = NULL; } + + wdev->valid_links &= ~link_mask; } static int cfg80211_sme_get_conn_ies(struct wireless_dev *wdev, -- 2.56.0