aboutsummaryrefslogtreecommitdiffstats
path: root/package/mac80211/patches/300-pending_work.patch
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2011-11-20 09:29:42 +0000
committerFelix Fietkau <nbd@openwrt.org>2011-11-20 09:29:42 +0000
commit19694044e8741a6581efc4209c35daad72d10b75 (patch)
tree0eaa950539a91636b2cc66a3c5d5dab8b027b906 /package/mac80211/patches/300-pending_work.patch
parentc893863d31306320fb1efad0db21bea822ccfba9 (diff)
downloadupstream-19694044e8741a6581efc4209c35daad72d10b75.tar.gz
upstream-19694044e8741a6581efc4209c35daad72d10b75.tar.bz2
upstream-19694044e8741a6581efc4209c35daad72d10b75.zip
ath9k: merge a pending aggregation fix
SVN-Revision: 29273
Diffstat (limited to 'package/mac80211/patches/300-pending_work.patch')
-rw-r--r--package/mac80211/patches/300-pending_work.patch31
1 files changed, 30 insertions, 1 deletions
diff --git a/package/mac80211/patches/300-pending_work.patch b/package/mac80211/patches/300-pending_work.patch
index 3a4a059b45..e86505368d 100644
--- a/package/mac80211/patches/300-pending_work.patch
+++ b/package/mac80211/patches/300-pending_work.patch
@@ -346,7 +346,36 @@
--- a/drivers/net/wireless/ath/ath9k/xmit.c
+++ b/drivers/net/wireless/ath/ath9k/xmit.c
-@@ -1955,7 +1955,7 @@ static void ath_tx_complete(struct ath_s
+@@ -179,6 +179,11 @@ static void ath_tx_flush_tid(struct ath_
+ spin_lock_bh(&txq->axq_lock);
+ }
+
++ if (tid->baw_head == tid->baw_tail) {
++ tid->state &= ~AGGR_ADDBA_COMPLETE;
++ tid->state &= ~AGGR_CLEANUP;
++ }
++
+ spin_unlock_bh(&txq->axq_lock);
+ }
+
+@@ -556,15 +561,9 @@ static void ath_tx_complete_aggr(struct
+ spin_unlock_bh(&txq->axq_lock);
+ }
+
+- if (tid->state & AGGR_CLEANUP) {
++ if (tid->state & AGGR_CLEANUP)
+ ath_tx_flush_tid(sc, tid);
+
+- if (tid->baw_head == tid->baw_tail) {
+- tid->state &= ~AGGR_ADDBA_COMPLETE;
+- tid->state &= ~AGGR_CLEANUP;
+- }
+- }
+-
+ rcu_read_unlock();
+
+ if (needreset) {
+@@ -1955,7 +1954,7 @@ static void ath_tx_complete(struct ath_s
skb_pull(skb, padsize);
}