mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 01:53:29 +02:00
wifi: mac80211: move link activation work to wiphy work
We want to have the wiphy locked for these as well, so move it to be a wiphy work. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
97c19e42b2
commit
7206a94871
|
|
@ -1112,7 +1112,7 @@ struct ieee80211_sub_if_data {
|
|||
struct ieee80211_link_data __rcu *link[IEEE80211_MLD_MAX_NUM_LINKS];
|
||||
|
||||
/* for ieee80211_set_active_links_async() */
|
||||
struct work_struct activate_links_work;
|
||||
struct wiphy_work activate_links_work;
|
||||
u16 desired_active_links;
|
||||
|
||||
#ifdef CONFIG_MAC80211_DEBUGFS
|
||||
|
|
|
|||
|
|
@ -749,9 +749,9 @@ static int ieee80211_stop(struct net_device *dev)
|
|||
ieee80211_stop_mbssid(sdata);
|
||||
}
|
||||
|
||||
cancel_work_sync(&sdata->activate_links_work);
|
||||
|
||||
wiphy_lock(sdata->local->hw.wiphy);
|
||||
wiphy_work_cancel(sdata->local->hw.wiphy, &sdata->activate_links_work);
|
||||
|
||||
ieee80211_do_stop(sdata, true);
|
||||
wiphy_unlock(sdata->local->hw.wiphy);
|
||||
|
||||
|
|
@ -1691,7 +1691,8 @@ static void ieee80211_iface_work(struct wiphy *wiphy, struct wiphy_work *work)
|
|||
}
|
||||
}
|
||||
|
||||
static void ieee80211_activate_links_work(struct work_struct *work)
|
||||
static void ieee80211_activate_links_work(struct wiphy *wiphy,
|
||||
struct wiphy_work *work)
|
||||
{
|
||||
struct ieee80211_sub_if_data *sdata =
|
||||
container_of(work, struct ieee80211_sub_if_data,
|
||||
|
|
@ -1736,7 +1737,8 @@ static void ieee80211_setup_sdata(struct ieee80211_sub_if_data *sdata,
|
|||
skb_queue_head_init(&sdata->skb_queue);
|
||||
skb_queue_head_init(&sdata->status_queue);
|
||||
wiphy_work_init(&sdata->work, ieee80211_iface_work);
|
||||
INIT_WORK(&sdata->activate_links_work, ieee80211_activate_links_work);
|
||||
wiphy_work_init(&sdata->activate_links_work,
|
||||
ieee80211_activate_links_work);
|
||||
|
||||
switch (type) {
|
||||
case NL80211_IFTYPE_P2P_GO:
|
||||
|
|
|
|||
|
|
@ -512,6 +512,6 @@ void ieee80211_set_active_links_async(struct ieee80211_vif *vif,
|
|||
return;
|
||||
|
||||
sdata->desired_active_links = active_links;
|
||||
schedule_work(&sdata->activate_links_work);
|
||||
wiphy_work_queue(sdata->local->hw.wiphy, &sdata->activate_links_work);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(ieee80211_set_active_links_async);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user