From 2268edfe62bab136175fbb05b575841b40ca64af Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Wed, 16 Jul 2008 03:12:24 -0700 Subject: [PATCH] --- yaml --- r: 103607 b: refs/heads/master c: 78a5b30b7324b2d66bcf7d2e3935877d3c26497c h: refs/heads/master i: 103605: d1e2860894f49eb5bb4109c9347e448a79fc2bf5 103603: 550ccf458ca63c86e16db57a5a53bc6c26250d6d 103599: 2d2c648b16750a044ef38a669613b301ec0da857 v: v3 --- [refs] | 2 +- trunk/include/net/sch_generic.h | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 2520e8176b0b..bafa2f8a40b1 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 53049978df1d9ae55bf397c9879e6b33218352db +refs/heads/master: 78a5b30b7324b2d66bcf7d2e3935877d3c26497c diff --git a/trunk/include/net/sch_generic.h b/trunk/include/net/sch_generic.h index 3cc4b5cd8c6a..60e1e9f9e453 100644 --- a/trunk/include/net/sch_generic.h +++ b/trunk/include/net/sch_generic.h @@ -183,10 +183,18 @@ static inline struct net_device *qdisc_dev(struct Qdisc *qdisc) extern void qdisc_lock_tree(struct net_device *dev); extern void qdisc_unlock_tree(struct net_device *dev); -#define sch_tree_lock(q) qdisc_lock_tree(qdisc_dev(q)) -#define sch_tree_unlock(q) qdisc_unlock_tree(qdisc_dev(q)) -#define tcf_tree_lock(tp) qdisc_lock_tree(qdisc_dev((tp)->q)) -#define tcf_tree_unlock(tp) qdisc_unlock_tree(qdisc_dev((tp)->q)) +static inline void sch_tree_lock(struct Qdisc *q) +{ + spin_lock_bh(qdisc_root_lock(q)); +} + +static inline void sch_tree_unlock(struct Qdisc *q) +{ + spin_unlock_bh(qdisc_root_lock(q)); +} + +#define tcf_tree_lock(tp) sch_tree_lock((tp)->q) +#define tcf_tree_unlock(tp) sch_tree_unlock((tp)->q) extern struct Qdisc noop_qdisc; extern struct Qdisc_ops noop_qdisc_ops;