diff --git a/net/sched/sch_htb.c b/net/sched/sch_htb.c index 66148cc..fa6b1ad 100644 --- a/net/sched/sch_htb.c +++ b/net/sched/sch_htb.c @@ -1398,7 +1398,8 @@ static int htb_change_class(struct Qdisc *sch, u32 classid, /* create leaf qdisc early because it uses kmalloc(GFP_KERNEL) so that can't be used inside of sch_tree_lock -- thanks to Karlis Peisenieks */ - new_q = qdisc_create_dflt(sch->dev, &pfifo_qdisc_ops, classid); + new_q = qdisc_create_dflt(sch->dev, &pfifo_qdisc_ops, + parent->classid); sch_tree_lock(sch); if (parent && !parent->level) { unsigned int qlen = parent->un.leaf.q->q.qlen;