aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2010-11-28 13:37:48 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-11-29 15:30:29 -0500
commit8b7f8532d15631776ce8bec2bbbc58f6aad738d1 (patch)
tree69241871c17e3244c7ce78e19749b079953e2cf3
parent81fc2a332045dc1dae24f24d3e2dc4656f2cc498 (diff)
ath9k: fix software retry counter tracking
The recent tx path cleanups moved the software retry count tracking from the ath_buf to the skb cb, however the actual counter update referred to the wrong location, confusing block-ack window tracking. Fix this by using the retries counter in the struct ath_frame_info. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/ath/ath9k/xmit.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath9k/xmit.c b/drivers/net/wireless/ath/ath9k/xmit.c
index 495432ec85a9..177a7b1de322 100644
--- a/drivers/net/wireless/ath/ath9k/xmit.c
+++ b/drivers/net/wireless/ath/ath9k/xmit.c
@@ -250,11 +250,11 @@ static void ath_tid_drain(struct ath_softc *sc, struct ath_txq *txq,
250static void ath_tx_set_retry(struct ath_softc *sc, struct ath_txq *txq, 250static void ath_tx_set_retry(struct ath_softc *sc, struct ath_txq *txq,
251 struct sk_buff *skb) 251 struct sk_buff *skb)
252{ 252{
253 struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(skb); 253 struct ath_frame_info *fi = get_frame_info(skb);
254 struct ieee80211_hdr *hdr; 254 struct ieee80211_hdr *hdr;
255 255
256 TX_STAT_INC(txq->axq_qnum, a_retries); 256 TX_STAT_INC(txq->axq_qnum, a_retries);
257 if (tx_info->control.rates[4].count++ > 0) 257 if (fi->retries++ > 0)
258 return; 258 return;
259 259
260 hdr = (struct ieee80211_hdr *)skb->data; 260 hdr = (struct ieee80211_hdr *)skb->data;