--- /dev/null
+--- a/drivers/net/wireless/ath/ath9k/debug.c
++++ b/drivers/net/wireless/ath/ath9k/debug.c
+@@ -543,6 +543,7 @@ static ssize_t read_file_xmit(struct fil
+
+ PR("MPDUs Queued: ", queued);
+ PR("MPDUs Completed: ", completed);
++ PR("MPDUs XRetried: ", xretries);
+ PR("Aggregates: ", a_aggr);
+ PR("AMPDUs Queued HW:", a_queued_hw);
+ PR("AMPDUs Queued SW:", a_queued_sw);
+@@ -798,7 +799,10 @@ void ath_debug_stat_tx(struct ath_softc
+ else
+ TX_STAT_INC(qnum, a_completed);
+ } else {
+- TX_STAT_INC(qnum, completed);
++ if (bf_isxretried(bf))
++ TX_STAT_INC(qnum, xretries);
++ else
++ TX_STAT_INC(qnum, completed);
+ }
+
+ if (ts->ts_status & ATH9K_TXERR_FIFO)
+--- a/drivers/net/wireless/ath/ath9k/debug.h
++++ b/drivers/net/wireless/ath/ath9k/debug.h
+@@ -112,6 +112,7 @@ struct ath_tx_stats {
+ u32 tx_bytes_all;
+ u32 queued;
+ u32 completed;
++ u32 xretries;
+ u32 a_aggr;
+ u32 a_queued_hw;
+ u32 a_queued_sw;