From dd5c6a97de2e10df409f826bc949323021d3f678 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Sun, 28 Nov 2010 18:28:19 +0000
Subject: ath9k: fix software retry counter tracking - should fix 802.11n
 stability issues

SVN-Revision: 24183
---
 .../mac80211/patches/580-ath9k_fix_aggr_retries.patch    | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
 create mode 100644 package/mac80211/patches/580-ath9k_fix_aggr_retries.patch

(limited to 'package/mac80211')

diff --git a/package/mac80211/patches/580-ath9k_fix_aggr_retries.patch b/package/mac80211/patches/580-ath9k_fix_aggr_retries.patch
new file mode 100644
index 0000000000..ca7d35b960
--- /dev/null
+++ b/package/mac80211/patches/580-ath9k_fix_aggr_retries.patch
@@ -0,0 +1,16 @@
+--- 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_sof
+ static void ath_tx_set_retry(struct ath_softc *sc, struct ath_txq *txq,
+ 			     struct sk_buff *skb)
+ {
+-	struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(skb);
++	struct ath_frame_info *fi = get_frame_info(skb);
+ 	struct ieee80211_hdr *hdr;
+ 
+ 	TX_STAT_INC(txq->axq_qnum, a_retries);
+-	if (tx_info->control.rates[4].count++ > 0)
++	if (fi->retries++ > 0)
+ 		return;
+ 
+ 	hdr = (struct ieee80211_hdr *)skb->data;
-- 
cgit v1.2.3