Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 42ce8943 authored by Stanislaw Gruszka's avatar Stanislaw Gruszka Committed by John W. Linville
Browse files

iwlegacy: small refactoring of il_{stop,wake}_queue

parent 0967e01e
Loading
Loading
Loading
Loading
+15 −4
Original line number Diff line number Diff line
@@ -2256,6 +2256,19 @@ il_set_swq_id(struct il_tx_queue *txq, u8 ac, u8 hwq)
	txq->swq_id = (hwq << 2) | ac;
}

static inline void
_il_wake_queue(struct il_priv *il, u8 ac)
{
	if (atomic_dec_return(&il->queue_stop_count[ac]) <= 0)
		ieee80211_wake_queue(il->hw, ac);
}

static inline void
_il_stop_queue(struct il_priv *il, u8 ac)
{
	if (atomic_inc_return(&il->queue_stop_count[ac]) > 0)
		ieee80211_stop_queue(il->hw, ac);
}
static inline void
il_wake_queue(struct il_priv *il, struct il_tx_queue *txq)
{
@@ -2264,8 +2277,7 @@ il_wake_queue(struct il_priv *il, struct il_tx_queue *txq)
	u8 hwq = (queue >> 2) & 0x1f;

	if (test_and_clear_bit(hwq, il->queue_stopped))
		if (atomic_dec_return(&il->queue_stop_count[ac]) <= 0)
			ieee80211_wake_queue(il->hw, ac);
		_il_wake_queue(il, ac);
}

static inline void
@@ -2276,8 +2288,7 @@ il_stop_queue(struct il_priv *il, struct il_tx_queue *txq)
	u8 hwq = (queue >> 2) & 0x1f;

	if (!test_and_set_bit(hwq, il->queue_stopped))
		if (atomic_inc_return(&il->queue_stop_count[ac]) > 0)
			ieee80211_stop_queue(il->hw, ac);
		_il_stop_queue(il, ac);
}

#ifdef ieee80211_stop_queue