diff options
| author | 2008-10-03 11:52:33 +0100 | |
|---|---|---|
| committer | 2008-10-03 11:52:33 +0100 | |
| commit | 56f68556d7bbb51dd158c74deb09c783345bfbbd (patch) | |
| tree | 536e6e3c7063b1eee927194dda257602bd3dc66f /include/net/sch_generic.h | |
| parent | Merge branch 'omap2-clock' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git (diff) | |
| parent | [ARM] omap: fix a load of "warning: symbol 'xxx' was not declared. Should it be static?" (diff) | |
| download | linux-dev-56f68556d7bbb51dd158c74deb09c783345bfbbd.tar.xz linux-dev-56f68556d7bbb51dd158c74deb09c783345bfbbd.zip | |
Merge unstable branch 'omap-rmk'
Merge branch 'omap-rmk' into omap-all
Diffstat (limited to 'include/net/sch_generic.h')
| -rw-r--r-- | include/net/sch_generic.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h index b1d2cfea89c5..e5569625d2a5 100644 --- a/include/net/sch_generic.h +++ b/include/net/sch_generic.h @@ -217,6 +217,14 @@ static inline spinlock_t *qdisc_root_lock(struct Qdisc *qdisc) return qdisc_lock(root); } +static inline spinlock_t *qdisc_root_sleeping_lock(struct Qdisc *qdisc) +{ + struct Qdisc *root = qdisc_root_sleeping(qdisc); + + ASSERT_RTNL(); + return qdisc_lock(root); +} + static inline struct net_device *qdisc_dev(struct Qdisc *qdisc) { return qdisc->dev_queue->dev; @@ -224,12 +232,12 @@ static inline struct net_device *qdisc_dev(struct Qdisc *qdisc) static inline void sch_tree_lock(struct Qdisc *q) { - spin_lock_bh(qdisc_root_lock(q)); + spin_lock_bh(qdisc_root_sleeping_lock(q)); } static inline void sch_tree_unlock(struct Qdisc *q) { - spin_unlock_bh(qdisc_root_lock(q)); + spin_unlock_bh(qdisc_root_sleeping_lock(q)); } #define tcf_tree_lock(tp) sch_tree_lock((tp)->q) |
