diff options
author | Aditya Kumar Singh <quic_adisi@quicinc.com> | 2024-02-05 21:59:52 +0530 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2024-02-12 21:15:34 +0100 |
commit | 16405bd7fd2ea8553bc87a5aa9720e3014e91df6 (patch) | |
tree | 85c5b85e4f0d47220b70e93d04220568519aadff /net/mac80211 | |
parent | ec67d6e0d491d2a2df270ddcb7aa44db0984e11c (diff) | |
download | linux-16405bd7fd2ea8553bc87a5aa9720e3014e91df6.tar.gz linux-16405bd7fd2ea8553bc87a5aa9720e3014e91df6.tar.bz2 linux-16405bd7fd2ea8553bc87a5aa9720e3014e91df6.zip |
wifi: mac80211: remove only own link stations during stop_ap
Currently, whenever AP link is brought down via ieee80211_stop_ap()
function, all stations connected to the sdata are flushed. However, in case
of MLO there is a requirement to flush only stations connected to that link
and not all.
For instance - Consider 2 GHz and 5 GHz are AP MLD. Now due to some reason
5 GHz link of this AP is going down (link removal or any other case). All
stations connected, even legacy stations connected to 2 GHz link AP would
also be flushed. Flushing of other link stations is not desirable.
Fix this issue by passing self link ID to sta_flush() function. This would
then only remove the stations which are still using the passed link
ID as their link sta. Other stations will not be affected.
Signed-off-by: Aditya Kumar Singh <quic_adisi@quicinc.com>
Link: https://msgid.link/20240205162952.1697646-4-quic_adisi@quicinc.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211')
-rw-r--r-- | net/mac80211/cfg.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c index 41fca30c896e..0744113f3535 100644 --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c @@ -1616,7 +1616,7 @@ static int ieee80211_stop_ap(struct wiphy *wiphy, struct net_device *dev, link_conf->ema_ap = false; link_conf->bssid_indicator = 0; - __sta_info_flush(sdata, true, -1); + __sta_info_flush(sdata, true, link_id); ieee80211_free_keys(sdata, true); link_conf->enable_beacon = false; |