Commit a4645a29 authored by Felix Fietkau's avatar Felix Fietkau Committed by chrome-bot
Browse files

UPSTREAM: mac80211: make ieee80211_schedule_txq schedule empty TXQs



Currently there is no way for the driver to signal to mac80211 that it should
schedule a TXQ even if there are no packets on the mac80211 part of that queue.
This is problematic if the driver has an internal retry queue to deal with
software A-MPDU retry.

This patch changes the behavior of ieee80211_schedule_txq to always schedule
the queue, as its only user (ath9k) seems to expect such behavior already:
it calls this function on tx status and on powersave wakeup whenever its
internal retry queue is not empty.

Also add an extra argument to ieee80211_return_txq to get the same behavior.

This fixes an issue on ath9k where tx queues with packets to retry (and no
new packets in mac80211) would not get serviced.

Fixes: 89cea749 ("ath9k: Switch to mac80211 TXQ scheduling and airtime APIs")
Signed-off-by: default avatarFelix Fietkau <nbd@nbd.name>
Acked-by: default avatarToke Hiland-Jrgensen <toke@redhat.com>
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>

BUG=b:131197056
TEST=compile 4.14-gw kernel

(cherry picked from commit 2b4a6698)
Signed-off-by: default avatarKan Yan <kyan@google.com>

Change-Id: I7e1322d15d02d87443d019c0086b4766827be844
Reviewed-on: https://chromium-review.googlesource.com/1636905


Tested-by: default avatarKan Yan <kyan@google.com>
Commit-Ready: Kan Yan <kyan@google.com>
Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
Reviewed-by: default avatarJulan Hsu <julanhsu@google.com>
Reviewed-by: default avatarSean Paul <seanpaul@chromium.org>
Reviewed-by: default avatarKan Yan <kyan@chromium.org>
parent 9fc42386
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment