ath9k: Make sure to zero status.tx_time before reporting TX status
authorToke Høiland-Jørgensen <toke@redhat.com>
Fri, 15 Feb 2019 16:48:55 +0000 (17:48 +0100)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 26 Feb 2019 13:07:28 +0000 (15:07 +0200)
Since ath9k reports airtime usage directly using the
ieee80211_report_airtime() callback, it shouldn't also report it using the
tx_time in status. Make sure the field is zeroed before TX status is
reported to avoid spurious airtime being accounted by bits being left over
from earlier uses of the cb.

Fixes: 89cea7493a34 ("ath9k: Switch to mac80211 TXQ scheduling and airtime APIs")
Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/ath9k/xmit.c

index 06e0c5a6fab69e797a293cd7a3a87481eaf226d4..773d428ff1b03328ca43c1c8db74103d8d846444 100644 (file)
@@ -2552,6 +2552,9 @@ static void ath_tx_rc_status(struct ath_softc *sc, struct ath_buf *bf,
        }
 
        tx_info->status.rates[tx_rateindex].count = ts->ts_longretry + 1;
+
+       /* we report airtime in ath_tx_count_airtime(), don't report twice */
+       tx_info->status.tx_time = 0;
 }
 
 static void ath_tx_processq(struct ath_softc *sc, struct ath_txq *txq)