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>
This commit is contained in:
Jarek Poplawski 2008-08-27 02:12:52 -07:00 committed by David S. Miller
parent c2d4254577
commit 666d9bbedf

View File

@ -624,7 +624,7 @@ static struct Qdisc *dev_graft_qdisc(struct netdev_queue *dev_queue,
struct Qdisc *oqdisc = dev_queue->qdisc_sleeping; struct Qdisc *oqdisc = dev_queue->qdisc_sleeping;
spinlock_t *root_lock; spinlock_t *root_lock;
root_lock = qdisc_root_lock(oqdisc); root_lock = qdisc_lock(oqdisc);
spin_lock_bh(root_lock); spin_lock_bh(root_lock);
/* Prune old scheduler */ /* Prune old scheduler */