--- zzzz-none-000/linux-2.6.19.2/net/sched/sch_htb.c 2007-01-10 19:10:37.000000000 +0000 +++ davinci-8020-5505/linux-2.6.19.2/net/sched/sch_htb.c 2007-01-11 07:38:19.000000000 +0000 @@ -1284,7 +1284,8 @@ struct htb_class, sibling)); /* note: this delete may happen twice (see htb_delete) */ - hlist_del_init(&cl->hlist); + if (!hlist_unhashed(&cl->hlist)) + hlist_del(&cl->hlist); list_del(&cl->sibling); if (cl->prio_activity) @@ -1332,7 +1333,8 @@ sch_tree_lock(sch); /* delete from hash and active; remainder in destroy_class */ - hlist_del_init(&cl->hlist); + if (!hlist_unhashed(&cl->hlist)) + hlist_del(&cl->hlist); if (cl->prio_activity) htb_deactivate(q, cl);