diff options
author | Jarek Poplawski <jarkao2@gmail.com> | 2008-08-27 02:12:52 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-08-27 02:15:20 -0700 |
commit | 666d9bbedfff7c2c37eab92e715641922dee6864 (patch) | |
tree | 5df5a04cad7fb147fca45fa3afc45703765ecc7d /net | |
parent | c2d42545774c4bba7232521d836d0793330e3a4e (diff) | |
download | op-kernel-dev-666d9bbedfff7c2c37eab92e715641922dee6864.zip op-kernel-dev-666d9bbedfff7c2c37eab92e715641922dee6864.tar.gz |
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.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/sched/sch_api.c b/net/sched/sch_api.c index e7fb9e0..341d558 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 */ |