pkt_sched: Fix gen_estimator locks
authorJarek Poplawski <jarkao2@gmail.com>
Wed, 27 Aug 2008 09:25:17 +0000 (02:25 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 27 Aug 2008 09:25:17 +0000 (02:25 -0700)
commitf6f9b93f1624206c802ac9162c9302edaf59bfd9
tree643bd211bf909118311138e588a78834fad7a40d
parentf7a54c13c7b072d9426bd5cec1cdb8306df5ef55
pkt_sched: Fix gen_estimator locks

While passing a qdisc root lock to gen_new_estimator() and
gen_replace_estimator() dev could be deactivated or even before
grafting proper root qdisc as qdisc_sleeping (e.g. qdisc_create), so
using qdisc_root_lock() is not enough. This patch adds
qdisc_root_sleeping_lock() for this, plus additional checks, where
necessary.

Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/sch_generic.h
net/sched/sch_api.c
net/sched/sch_cbq.c
net/sched/sch_hfsc.c
net/sched/sch_htb.c