Commit 1c0d21c4 authored by Rameshkumar Sundaram's avatar Rameshkumar Sundaram Committed by Johannes Berg

wifi: mac80211: remove only link keys during stopping link AP

Currently while stopping a link AP, all keys from the interface were
removed. However with MLO there is a requirement to free only the link
keys.

Add changes to remove keys which are associated with the link AP which is
going to be stopped.
Signed-off-by: default avatarRameshkumar Sundaram <quic_ramess@quicinc.com>
Signed-off-by: default avatarAditya Kumar Singh <quic_adisi@quicinc.com>
Link: https://msgid.link/20240227042251.1511122-2-quic_adisi@quicinc.comSigned-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 9ad79748
...@@ -1563,6 +1563,7 @@ static int ieee80211_stop_ap(struct wiphy *wiphy, struct net_device *dev, ...@@ -1563,6 +1563,7 @@ static int ieee80211_stop_ap(struct wiphy *wiphy, struct net_device *dev,
struct ieee80211_link_data *link = struct ieee80211_link_data *link =
sdata_dereference(sdata->link[link_id], sdata); sdata_dereference(sdata->link[link_id], sdata);
struct ieee80211_bss_conf *link_conf = link->conf; struct ieee80211_bss_conf *link_conf = link->conf;
LIST_HEAD(keys);
lockdep_assert_wiphy(local->hw.wiphy); lockdep_assert_wiphy(local->hw.wiphy);
...@@ -1617,7 +1618,12 @@ static int ieee80211_stop_ap(struct wiphy *wiphy, struct net_device *dev, ...@@ -1617,7 +1618,12 @@ static int ieee80211_stop_ap(struct wiphy *wiphy, struct net_device *dev,
link_conf->bssid_indicator = 0; link_conf->bssid_indicator = 0;
__sta_info_flush(sdata, true, link_id); __sta_info_flush(sdata, true, link_id);
ieee80211_free_keys(sdata, true);
ieee80211_remove_link_keys(link, &keys);
if (!list_empty(&keys)) {
synchronize_net();
ieee80211_free_key_list(local, &keys);
}
link_conf->enable_beacon = false; link_conf->enable_beacon = false;
sdata->beacon_rate_set = false; sdata->beacon_rate_set = false;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment