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. Huh, well that won't do, obviously :) Any idea why it might be wrong? > The rest of the patch seems to work as expected, after I did a quick > hack to release the pending airtime from ath10k_txrx_tx_unref() > instead, where the ac/tid can be directly retrieved from struck struct > ieee80211_tx. Awesome! Thanks for testing! -Toke