--- sch_htb.c 2003/07/05 10:37:11 1.21 +++ sch_htb.c 2003/07/20 07:24:59 @@ -1286,6 +1286,10 @@ static int htb_graft(struct Qdisc *sch, return -ENOBUFS; sch_tree_lock(sch); if ((*old = xchg(&cl->un.leaf.q, new)) != NULL) { + /* TODO: test it */ + if (cl->prio_activity) + htb_deactivate ((struct htb_sched*)sch->data,cl); + /* TODO: is it correct ? Why CBQ doesn't do it ? */ sch->q.qlen -= (*old)->q.qlen; qdisc_reset(*old);