Kan Yan <kyan@xxxxxxxxxx> writes: >> + if (ieee80211_is_data_qos(hdr->frame_control)) { >> + qc = ieee80211_get_qos_ctl(hdr); >> + tid = qc[0] & 0xf; >> + ac = ieee80211_ac_from_tid(tid); >> + } else { >> + ac = IEEE80211_AC_BE; >> + } > > The tid/ac is incorrect either here or in __ieee80211_tx_status() when > tested with ath10k. The ac is set to AC_BE with test done using BK > class traffic, hence the pending airtime get updated for the wrong > txq. Hmm, I guess we could just get the ac using skb_get_queue_mapping(). I'll send an update with this fixed for you to try :) -Toke