aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2013-06-22 13:59:55 +0000
committerFelix Fietkau <nbd@openwrt.org>2013-06-22 13:59:55 +0000
commit30ada6a9849dd2929c87649d6d6adfe3735ad155 (patch)
tree9c6e6d5d877d95efd80fed87c812b4bafe50ee4c
parent065773c16e106f371cf29cbf5c954f38b7e7d311 (diff)
downloadupstream-30ada6a9849dd2929c87649d6d6adfe3735ad155.tar.gz
upstream-30ada6a9849dd2929c87649d6d6adfe3735ad155.tar.bz2
upstream-30ada6a9849dd2929c87649d6d6adfe3735ad155.zip
ath9k: fix a minor rcu issue
Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37013 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--package/kernel/mac80211/patches/300-pending_work.patch23
1 files changed, 22 insertions, 1 deletions
diff --git a/package/kernel/mac80211/patches/300-pending_work.patch b/package/kernel/mac80211/patches/300-pending_work.patch
index bd21e53405..11be868b38 100644
--- a/package/kernel/mac80211/patches/300-pending_work.patch
+++ b/package/kernel/mac80211/patches/300-pending_work.patch
@@ -283,7 +283,28 @@
struct mutex mtx;
--- a/drivers/net/wireless/ath/ath9k/xmit.c
+++ b/drivers/net/wireless/ath/ath9k/xmit.c
-@@ -1778,9 +1778,13 @@ static void ath_tx_txqaddbuf(struct ath_
+@@ -1673,6 +1673,8 @@ void ath_txq_schedule(struct ath_softc *
+ txq->axq_ampdu_depth >= ATH_AGGR_MIN_QDEPTH)
+ return;
+
++ rcu_read_lock();
++
+ ac = list_first_entry(&txq->axq_acq, struct ath_atx_ac, list);
+ last_ac = list_entry(txq->axq_acq.prev, struct ath_atx_ac, list);
+
+@@ -1711,8 +1713,10 @@ void ath_txq_schedule(struct ath_softc *
+
+ if (ac == last_ac ||
+ txq->axq_ampdu_depth >= ATH_AGGR_MIN_QDEPTH)
+- return;
++ break;
+ }
++
++ rcu_read_unlock();
+ }
+
+ /***********/
+@@ -1778,9 +1782,13 @@ static void ath_tx_txqaddbuf(struct ath_
}
if (!internal) {