Message ID | 20240410031048.23372-1-quic_deng@quicinc.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Johannes Berg |
Headers | show |
Series | [v2] wifi: cfg80211: Clear mlo_links info when STA disconnect | expand |
On Tue, 2024-04-09 at 20:10 -0700, Xin Deng wrote: > 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. > OK, so now we have a version that actually _works_. However, I'm not convinced it's _correct_. You say "on disconnect", but also do it before connect (where maybe it makes sense?), on roaming (where it doesn't), on connect result (where presumably if we do it correct, it's already 0), and finally on disconnect. And also in a function that never even mentions anything about doing something to links in the name. All that doesn't feel right to me. johannes
diff --git a/net/wireless/sme.c b/net/wireless/sme.c index 82e3ce42206c..6a08f9d35eb2 100644 --- a/net/wireless/sme.c +++ b/net/wireless/sme.c @@ -477,6 +477,7 @@ static void cfg80211_wdev_release_bsses(struct wireless_dev *wdev) &wdev->links[link].client.current_bss->pub); wdev->links[link].client.current_bss = NULL; } + wdev->valid_links = 0; } void cfg80211_wdev_release_link_bsses(struct wireless_dev *wdev, u16 link_mask)
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@quicinc.com> --- net/wireless/sme.c | 1 + 1 file changed, 1 insertion(+) base-commit: 8027a466a77a288eccd2d11868f504e24231f3b7