wdev->valid_links is not cleared when upper layer disconnect from a wdev->AP MLD. It has been observed that this would prevent offchannel operations like remain-on-channel which would be needed for user space operations with Public Action frame. Clear the wdev->valid_links when STA disconnect. Signed-off-by: Xin Deng <quic_deng@xxxxxxxxxxx> --- v2: - Change wdev->valid_links = 0 to cfg80211_wdev_release_bsses(); v3: - Change wdev->valid_links = 0 to __cfg80211_diesconnected(); --- net/wireless/sme.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/wireless/sme.c b/net/wireless/sme.c index 82e3ce42206c..a8ad55f11133 100644 --- a/net/wireless/sme.c +++ b/net/wireless/sme.c @@ -1353,6 +1353,7 @@ void __cfg80211_disconnected(struct net_device *dev, const u8 *ie, return; cfg80211_wdev_release_bsses(wdev); + wdev->valid_links = 0; wdev->connected = false; wdev->u.client.ssid_len = 0; wdev->conn_owner_nlportid = 0; base-commit: 8027a466a77a288eccd2d11868f504e24231f3b7 -- 2.17.1