]> Pileus Git - ~andy/linux/blobdiff - net/sched/sch_cbq.c
Merge branch 'fixes-for-linus' of git://git.monstr.eu/linux-2.6-microblaze
[~andy/linux] / net / sched / sch_cbq.c
index 9e43ed949167affccd96c7e9a11e88e493206f6c..d728d8111732f0d74b783c54927e2c42822f1dbe 100644 (file)
@@ -1960,8 +1960,11 @@ static int cbq_delete(struct Qdisc *sch, unsigned long arg)
        cbq_rmprio(q, cl);
        sch_tree_unlock(sch);
 
-       if (--cl->refcnt == 0)
-               cbq_destroy_class(sch, cl);
+       BUG_ON(--cl->refcnt == 0);
+       /*
+        * This shouldn't happen: we "hold" one cops->get() when called
+        * from tc_ctl_tclass; the destroy method is done from cops->put().
+        */
 
        return 0;
 }