Commit a5a0bca1 authored by Ben Greear's avatar Ben Greear Committed by John W. Linville

ath9k: Add tx-failed counter.

This counts any failure during getting packets into
the DMA buffers, including out-of-memory, etc.
Signed-off-by: default avatarBen Greear <greearb@candelatech.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 56dc389f
...@@ -529,6 +529,7 @@ static ssize_t read_file_xmit(struct file *file, char __user *user_buf, ...@@ -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-put-tx-buf: ", puttxbuf);
PR("hw-tx-start: ", txstart); PR("hw-tx-start: ", txstart);
PR("hw-tx-proc-desc: ", txprocdesc); PR("hw-tx-proc-desc: ", txprocdesc);
PR("TX-Failed: ", txfailed);
len += snprintf(buf + len, size - len, len += snprintf(buf + len, size - len,
"%s%11p%11p%10p%10p\n", "txq-memory-address:", "%s%11p%11p%10p%10p\n", "txq-memory-address:",
sc->tx.txq_map[WME_AC_BE], sc->tx.txq_map[WME_AC_BE],
......
...@@ -113,6 +113,7 @@ struct ath_interrupt_stats { ...@@ -113,6 +113,7 @@ struct ath_interrupt_stats {
* @puttxbuf: Number of times hardware was given txbuf to write. * @puttxbuf: Number of times hardware was given txbuf to write.
* @txstart: Number of times hardware was told to start tx. * @txstart: Number of times hardware was told to start tx.
* @txprocdesc: Number of times tx descriptor was processed * @txprocdesc: Number of times tx descriptor was processed
* @txfailed: Out-of-memory or other errors in xmit path.
*/ */
struct ath_tx_stats { struct ath_tx_stats {
u32 tx_pkts_all; u32 tx_pkts_all;
...@@ -135,6 +136,7 @@ struct ath_tx_stats { ...@@ -135,6 +136,7 @@ struct ath_tx_stats {
u32 puttxbuf; u32 puttxbuf;
u32 txstart; u32 txstart;
u32 txprocdesc; u32 txprocdesc;
u32 txfailed;
}; };
/** /**
......
...@@ -1152,6 +1152,7 @@ static void ath9k_tx(struct ieee80211_hw *hw, struct sk_buff *skb) ...@@ -1152,6 +1152,7 @@ static void ath9k_tx(struct ieee80211_hw *hw, struct sk_buff *skb)
if (ath_tx_start(hw, skb, &txctl) != 0) { if (ath_tx_start(hw, skb, &txctl) != 0) {
ath_dbg(common, XMIT, "TX failed\n"); ath_dbg(common, XMIT, "TX failed\n");
TX_STAT_INC(txctl.txq->axq_qnum, txfailed);
goto exit; goto exit;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment