ath9k: Add tx-failed counter.
authorBen Greear <greearb@candelatech.com>
Tue, 3 Apr 2012 16:16:55 +0000 (09:16 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 11 Apr 2012 20:23:54 +0000 (16:23 -0400)
This counts any failure during getting packets into
the DMA buffers, including out-of-memory, etc.

Signed-off-by: Ben Greear <greearb@candelatech.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/debug.c
drivers/net/wireless/ath/ath9k/debug.h
drivers/net/wireless/ath/ath9k/main.c

index 35d1c8e91d1c161140ec1513b5f0eaff0114f474..9078279fab0c2cdd1a249dd359ef0f3fffbbbc3c 100644 (file)
@@ -529,6 +529,7 @@ static ssize_t read_file_xmit(struct file *file, char __user *user_buf,
        PR("hw-put-tx-buf:   ", puttxbuf);
        PR("hw-tx-start:     ", txstart);
        PR("hw-tx-proc-desc: ", txprocdesc);
+       PR("TX-Failed:       ", txfailed);
        len += snprintf(buf + len, size - len,
                        "%s%11p%11p%10p%10p\n", "txq-memory-address:",
                        sc->tx.txq_map[WME_AC_BE],
index 2d47f747512e801035255eb3b222e9b54eeef5e7..fe2b487ed6c57823a089f45844abcbd403648dc5 100644 (file)
@@ -113,6 +113,7 @@ struct ath_interrupt_stats {
  * @puttxbuf: Number of times hardware was given txbuf to write.
  * @txstart:  Number of times hardware was told to start tx.
  * @txprocdesc:  Number of times tx descriptor was processed
+ * @txfailed:  Out-of-memory or other errors in xmit path.
  */
 struct ath_tx_stats {
        u32 tx_pkts_all;
@@ -135,6 +136,7 @@ struct ath_tx_stats {
        u32 puttxbuf;
        u32 txstart;
        u32 txprocdesc;
+       u32 txfailed;
 };
 
 /**
index eeea81b16d9cb980e5458f714e618272ea413a52..5de648c243bf0a00af4e7da798109d0864d6a040 100644 (file)
@@ -1152,6 +1152,7 @@ static void ath9k_tx(struct ieee80211_hw *hw, struct sk_buff *skb)
 
        if (ath_tx_start(hw, skb, &txctl) != 0) {
                ath_dbg(common, XMIT, "TX failed\n");
+               TX_STAT_INC(txctl.txq->axq_qnum, txfailed);
                goto exit;
        }