++ others who reported this On Tue, 2019-12-10 at 13:46 -0700, Jens Axboe wrote: > ------------[ cut here ]------------ > STA b4:75:0e:99:1f:e0 AC 2 txq pending airtime underflow: 4294967088, 208 We think this is due to TSO, the change below will disable the AQL again for now until we can figure out how to really fix it. I think I'll do the equivalent for 5.5 and maybe leave it enabled only for ath10k, or something like that ... johannes diff --git a/net/mac80211/main.c b/net/mac80211/main.c index 6cca0853f183..4c2b5ba3ac09 100644 --- a/net/mac80211/main.c +++ b/net/mac80211/main.c @@ -672,9 +672,7 @@ struct ieee80211_hw *ieee80211_alloc_hw_nm(size_t priv_data_len, IEEE80211_DEFAULT_AQL_TXQ_LIMIT_H; } - local->airtime_flags = AIRTIME_USE_TX | - AIRTIME_USE_RX | - AIRTIME_USE_AQL; + local->airtime_flags = AIRTIME_USE_TX | AIRTIME_USE_RX; local->aql_threshold = IEEE80211_AQL_THRESHOLD; atomic_set(&local->aql_total_pending_airtime, 0); diff --git a/net/mac80211/sta_info.c b/net/mac80211/sta_info.c index 8eafd81e97b4..a14d0dac52e8 100644 --- a/net/mac80211/sta_info.c +++ b/net/mac80211/sta_info.c @@ -1916,6 +1916,9 @@ void ieee80211_sta_update_pending_airtime(struct ieee80211_local *local, { int tx_pending; + if (!(local->airtime_flags & AIRTIME_USE_AQL)) + return; + if (!tx_completed) { if (sta) atomic_add(tx_airtime,