• Felix Fietkau's avatar
    mac80211: make ieee80211_schedule_txq schedule empty TXQs · 2b4a6698
    Felix Fietkau authored
    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 Høiland-Jørgensen <toke@redhat.com>
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    2b4a6698
mac.c 224 KB