_ieee80211_wake_txqs() is no longer handling TX, making the wake_txqs_tasklet unnecessary. Signed-off-by: Alexander Wetzel <Alexander@xxxxxxxxxxxxxx> --- net/mac80211/ieee80211_i.h | 2 -- net/mac80211/main.c | 1 - net/mac80211/util.c | 16 +--------------- 3 files changed, 1 insertion(+), 18 deletions(-) diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h index 8bd1e4f0e5fd..cecf2363fd85 100644 --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h @@ -1461,7 +1461,6 @@ struct ieee80211_local { struct sk_buff_head pending[IEEE80211_MAX_QUEUES]; struct tasklet_struct tx_pending_tasklet; - struct tasklet_struct wake_txqs_tasklet; struct task_struct *mac80211_tsk; wait_queue_head_t mac80211_tsk_wq; @@ -2540,7 +2539,6 @@ void ieee80211_txq_remove_vlan(struct ieee80211_local *local, struct ieee80211_sub_if_data *sdata); void ieee80211_fill_txq_stats(struct cfg80211_txq_stats *txqstats, struct txq_info *txqi); -void ieee80211_wake_txqs(struct tasklet_struct *t); int mac80211_thread(void *data); void ieee80211_send_auth(struct ieee80211_sub_if_data *sdata, u16 transaction, u16 auth_alg, u16 status, diff --git a/net/mac80211/main.c b/net/mac80211/main.c index 25d5a57a74ca..c634a781970b 100644 --- a/net/mac80211/main.c +++ b/net/mac80211/main.c @@ -999,7 +999,6 @@ struct ieee80211_hw *ieee80211_alloc_hw_nm(size_t priv_data_len, skb_queue_head_init(&local->pending[i]); } tasklet_setup(&local->tx_pending_tasklet, ieee80211_tx_pending); - tasklet_setup(&local->wake_txqs_tasklet, ieee80211_wake_txqs); tasklet_setup(&local->tasklet, ieee80211_tasklet_handler); init_waitqueue_head(&local->mac80211_tsk_wq); diff --git a/net/mac80211/util.c b/net/mac80211/util.c index 1f84b83b0ea4..0513a1da2b51 100644 --- a/net/mac80211/util.c +++ b/net/mac80211/util.c @@ -425,17 +425,6 @@ _ieee80211_wake_txqs(struct ieee80211_local *local, unsigned long *flags) rcu_read_unlock(); } -void ieee80211_wake_txqs(struct tasklet_struct *t) -{ - struct ieee80211_local *local = from_tasklet(local, t, - wake_txqs_tasklet); - unsigned long flags; - - spin_lock_irqsave(&local->queue_stop_reason_lock, flags); - _ieee80211_wake_txqs(local, &flags); - spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags); -} - static void __ieee80211_wake_queue(struct ieee80211_hw *hw, int queue, enum queue_stop_reason reason, bool refcounted, @@ -476,10 +465,7 @@ static void __ieee80211_wake_queue(struct ieee80211_hw *hw, int queue, * release someone's lock, but it is fine because all the callers of * __ieee80211_wake_queue call it right before releasing the lock. */ - if (reason == IEEE80211_QUEUE_STOP_REASON_DRIVER) - tasklet_schedule(&local->wake_txqs_tasklet); - else - _ieee80211_wake_txqs(local, flags); + _ieee80211_wake_txqs(local, flags); } static int ac_has_active_txq(struct ieee80211_local *local) -- 2.48.1