Felix Fietkau <nbd@xxxxxxxx> writes: > 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 > > Signed-off-by: Felix Fietkau <nbd@xxxxxxxx> > --- > include/net/mac80211.h | 17 ++++++++++++++--- > net/mac80211/tx.c | 10 ++++++---- > 2 files changed, 20 insertions(+), 7 deletions(-) > > diff --git a/include/net/mac80211.h b/include/net/mac80211.h > index 0de0aba580eb..630941e5a20e 100644 > --- a/include/net/mac80211.h > +++ b/include/net/mac80211.h > @@ -6291,15 +6291,26 @@ static inline void ieee80211_txq_schedule_end(struct ieee80211_hw *hw, u8 ac) > { > } > > +void __ieee80211_schedule_txq(struct ieee80211_hw *hw, > + struct ieee80211_txq *txq, bool force); > + So are you planning to also change return_txq() to take the 'force' argument and wrap __ieee80211_schedule_txq()? Since that was the context we originally started discussing this :) -Toke