]> err.no Git - linux-2.6/commitdiff
pkt_sched: Fix locking in shutdown_scheduler_queue()
authorDavid S. Miller <davem@davemloft.net>
Fri, 25 Jul 2008 08:25:04 +0000 (01:25 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 25 Jul 2008 08:25:04 +0000 (01:25 -0700)
Qdisc locks need to be held with BH disabled.

Tested-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/sch_generic.c

index 4ac7e3a8c253b0e7754ac77071a6c7348a514841..43abd4d27ea6d767ae9c2227510b2628bb3d2a90 100644 (file)
@@ -736,9 +736,9 @@ static void shutdown_scheduler_queue(struct net_device *dev,
                dev_queue->qdisc = qdisc_default;
                dev_queue->qdisc_sleeping = qdisc_default;
 
-               spin_lock(root_lock);
+               spin_lock_bh(root_lock);
                qdisc_destroy(qdisc);
-               spin_unlock(root_lock);
+               spin_unlock_bh(root_lock);
        }
 }