Commit 11e3e22f authored by Alexander Wetzel's avatar Alexander Wetzel Committed by Johannes Berg
Browse files

wifi: mac80211: Do not schedule stopped TXQs



Ignore TXQs with the flag IEEE80211_TXQ_STOP when scheduling a queue.

The flag is only set after all fragments have been dequeued and won't
allow dequeueing other frames as long as the flag is set.

For drivers using ieee80211_txq_schedule_start() this prevents an
loop trying to push the queued frames while IEEE80211_TXQ_STOP is set:

After setting IEEE80211_TXQ_STOP the driver will call
ieee80211_return_txq(). Which calls __ieee80211_schedule_txq(), detects
that there sill are frames in the queue and immediately restarts the
stopped TXQ. Which can't dequeue any frame and thus starts over the loop.

Signed-off-by: default avatarAlexander Wetzel <Alexander@wetzel-home.de>
Fixes: ba8c3d6f ("mac80211: add an intermediate software queue implementation")
Link: https://patch.msgid.link/20250717162547.94582-2-Alexander@wetzel-home.de


Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 2c5dee15
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment