projects
/
GitHub
/
moto-9609
/
android_kernel_motorola_exynos9610.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
5fb6622
)
mac80211: Use queue_lock() in ieee80211_ht_agg_queue_remove().
author
David S. Miller
<davem@davemloft.net>
Sun, 3 Aug 2008 06:25:50 +0000
(23:25 -0700)
committer
David S. Miller
<davem@davemloft.net>
Sun, 3 Aug 2008 06:25:50 +0000
(23:25 -0700)
qdisc_root_lock() is only %100 safe to use when the RTNL
semaphore is held.
Signed-off-by: David S. Miller <davem@davemloft.net>
net/mac80211/wme.c
patch
|
blob
|
blame
|
history
diff --git
a/net/mac80211/wme.c
b/net/mac80211/wme.c
index 28437f0001db04946b49c330c172b423e92d0913..4310e2f65661e8a663c519eded289d263d46f613 100644
(file)
--- a/
net/mac80211/wme.c
+++ b/
net/mac80211/wme.c
@@
-241,12
+241,14
@@
void ieee80211_ht_agg_queue_remove(struct ieee80211_local *local,
} else {
struct netdev_queue *txq;
spinlock_t *root_lock;
+ struct Qdisc *q;
txq = netdev_get_tx_queue(local->mdev, agg_queue);
- root_lock = qdisc_root_lock(txq->qdisc);
+ q = rcu_dereference(txq->qdisc);
+ root_lock = qdisc_lock(q);
spin_lock_bh(root_lock);
- qdisc_reset(
txq->qdisc
);
+ qdisc_reset(
q
);
spin_unlock_bh(root_lock);
}
}