diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-06-22 13:59:55 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-06-22 13:59:55 +0000 |
commit | d427f199a9beae7cb1bce3fc2916c4db1e6e1daa (patch) | |
tree | 9c6e6d5d877d95efd80fed87c812b4bafe50ee4c | |
parent | b3b2b49fc671a948b0dd7e2ba0055db3c34bb3e8 (diff) |
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.patch | 23 |
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) { |