diff options
Diffstat (limited to 'net/sched/sch_htb.c')
-rw-r--r-- | net/sched/sch_htb.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/net/sched/sch_htb.c b/net/sched/sch_htb.c index 355974f610c5..88cd02626621 100644 --- a/net/sched/sch_htb.c +++ b/net/sched/sch_htb.c | |||
@@ -1275,8 +1275,11 @@ static int htb_delete(struct Qdisc *sch, unsigned long arg) | |||
1275 | if (last_child) | 1275 | if (last_child) |
1276 | htb_parent_to_leaf(q, cl, new_q); | 1276 | htb_parent_to_leaf(q, cl, new_q); |
1277 | 1277 | ||
1278 | if (--cl->refcnt == 0) | 1278 | BUG_ON(--cl->refcnt == 0); |
1279 | htb_destroy_class(sch, cl); | 1279 | /* |
1280 | * This shouldn't happen: we "hold" one cops->get() when called | ||
1281 | * from tc_ctl_tclass; the destroy method is done from cops->put(). | ||
1282 | */ | ||
1280 | 1283 | ||
1281 | sch_tree_unlock(sch); | 1284 | sch_tree_unlock(sch); |
1282 | return 0; | 1285 | return 0; |