summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-11-28 18:28:19 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-11-28 18:28:19 +0000
commitf5de36237bd4e19e47591cd8d2da7de2cd89e095 (patch)
tree5392836dcef9bd77cd63f600577e992cec73d2b5
parent1976da20e6203b8871806d63f1c2242a805af7c4 (diff)
ath9k: fix software retry counter tracking - should fix 802.11n stability issues
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24183 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--package/mac80211/patches/580-ath9k_fix_aggr_retries.patch16
1 files changed, 16 insertions, 0 deletions
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 000000000..ca7d35b96
--- /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;