summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorJarek Poplawski <jarkao2@gmail.com>2008-08-27 02:12:52 -0700
committerDavid S. Miller <davem@davemloft.net>2008-08-27 02:15:20 -0700
commit666d9bbedfff7c2c37eab92e715641922dee6864 (patch)
tree5df5a04cad7fb147fca45fa3afc45703765ecc7d /net
parentc2d42545774c4bba7232521d836d0793330e3a4e (diff)
downloadlinux-exynos-666d9bbedfff7c2c37eab92e715641922dee6864.tar.gz
linux-exynos-666d9bbedfff7c2c37eab92e715641922dee6864.tar.bz2
linux-exynos-666d9bbedfff7c2c37eab92e715641922dee6864.zip
pkt_sched: Fix dev_graft_qdisc() locking
During dev_graft_qdisc() dev is deactivated, so qdisc_root_lock() returns wrong lock of noop_qdisc instead of qdisc_sleeping. Signed-off-by: Jarek Poplawski <jarkao2@gmail.com> Acked-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r--net/sched/sch_api.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/sched/sch_api.c b/net/sched/sch_api.c
index e7fb9e0d21b4..341d558b6e39 100644
--- a/net/sched/sch_api.c
+++ b/net/sched/sch_api.c
@@ -624,7 +624,7 @@ static struct Qdisc *dev_graft_qdisc(struct netdev_queue *dev_queue,
struct Qdisc *oqdisc = dev_queue->qdisc_sleeping;
spinlock_t *root_lock;
- root_lock = qdisc_root_lock(oqdisc);
+ root_lock = qdisc_lock(oqdisc);
spin_lock_bh(root_lock);
/* Prune old scheduler */