• Alexander Wetzel's avatar
    wifi: mac80211: Proper mark iTXQs for resumption · 4444bc21
    Alexander Wetzel authored
    When a running wake_tx_queue() call is aborted due to a hw queue stop
    the corresponding iTXQ is not always correctly marked for resumption:
    wake_tx_push_queue() can stops the queue run without setting
    @IEEE80211_TXQ_STOP_NETIF_TX.
    
    Without the @IEEE80211_TXQ_STOP_NETIF_TX flag __ieee80211_wake_txqs()
    will not schedule a new queue run and remaining frames in the queue get
    stuck till another frame is queued to it.
    
    Fix the issue for all drivers - also the ones with custom wake_tx_queue
    callbacks - by moving the logic into ieee80211_tx_dequeue() and drop the
    redundant @txqs_stopped.
    
    @IEEE80211_TXQ_STOP_NETIF_TX is also renamed to @IEEE80211_TXQ_DIRTY to
    better describe the flag.
    
    Fixes: c850e31f
    
     ("wifi: mac80211: add internal handler for wake_tx_queue")
    Signed-off-by: default avatarAlexander Wetzel <alexander@wetzel-home.de>
    Link: https://lore.kernel.org/r/20221230121850.218810-1-alexander@wetzel-home.de
    Cc: stable@vger.kernel.org
    Signed-off-by: Johannes Berg <johannes...
    4444bc21
debugfs_sta.c 34.9 KB