@@ -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,
@@ -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);
@@ -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)
_ieee80211_wake_txqs() is no longer handling TX, making the wake_txqs_tasklet unnecessary. Signed-off-by: Alexander Wetzel <Alexander@wetzel-home.de> --- net/mac80211/ieee80211_i.h | 2 -- net/mac80211/main.c | 1 - net/mac80211/util.c | 16 +--------------- 3 files changed, 1 insertion(+), 18 deletions(-)