diff options
author | Johannes Berg <johannes.berg@intel.com> | 2023-08-28 13:59:47 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2023-09-11 11:27:20 +0200 |
commit | e3208fb739e522fcae7cb8342ac82ebb45d32a2b (patch) | |
tree | 347918542535bcba85303379db006fe7eeb5e6aa /net/mac80211/key.c | |
parent | wifi: mac80211: move TDLS work to wiphy work (diff) | |
download | linux-e3208fb739e522fcae7cb8342ac82ebb45d32a2b.tar.xz linux-e3208fb739e522fcae7cb8342ac82ebb45d32a2b.zip |
wifi: mac80211: move key tailroom work to wiphy work
This way we hold the wiphy mutex there, as a step towards
removing some of the additional locks we have.
Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/key.c')
-rw-r--r-- | net/mac80211/key.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/net/mac80211/key.c b/net/mac80211/key.c index 13050dc9321f..fbd9f9a9001c 100644 --- a/net/mac80211/key.c +++ b/net/mac80211/key.c @@ -775,8 +775,9 @@ static void __ieee80211_key_destroy(struct ieee80211_key *key, if (delay_tailroom) { /* see ieee80211_delayed_tailroom_dec */ sdata->crypto_tx_tailroom_pending_dec++; - schedule_delayed_work(&sdata->dec_tailroom_needed_wk, - HZ/2); + wiphy_delayed_work_queue(sdata->local->hw.wiphy, + &sdata->dec_tailroom_needed_wk, + HZ / 2); } else { decrease_tailroom_need_count(sdata, 1); } @@ -1122,7 +1123,8 @@ void ieee80211_free_keys(struct ieee80211_sub_if_data *sdata, struct ieee80211_key *key, *tmp; LIST_HEAD(keys); - cancel_delayed_work_sync(&sdata->dec_tailroom_needed_wk); + wiphy_delayed_work_cancel(local->hw.wiphy, + &sdata->dec_tailroom_needed_wk); mutex_lock(&local->key_mtx); @@ -1193,7 +1195,8 @@ void ieee80211_free_sta_keys(struct ieee80211_local *local, mutex_unlock(&local->key_mtx); } -void ieee80211_delayed_tailroom_dec(struct work_struct *wk) +void ieee80211_delayed_tailroom_dec(struct wiphy *wiphy, + struct wiphy_work *wk) { struct ieee80211_sub_if_data *sdata; |