Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 135212
b: refs/heads/master
c: 7cd0a63
h: refs/heads/master
v: v3
  • Loading branch information
Jarek Poplawski authored and David S. Miller committed Mar 16, 2009
1 parent c016b25 commit 07ccf8c
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 9 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 8bdd663aba341c15cd2fa9dbd7061b8b387964dc
refs/heads/master: 7cd0a63872ac6ef97265f07adc367ca4f984468e
7 changes: 5 additions & 2 deletions trunk/net/sched/sch_cbq.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand Down
7 changes: 5 additions & 2 deletions trunk/net/sched/sch_drr.c
Original file line number Diff line number Diff line change
Expand Up @@ -155,8 +155,11 @@ static int drr_delete_class(struct Qdisc *sch, unsigned long arg)
drr_purge_queue(cl);
qdisc_class_hash_remove(&q->clhash, &cl->common);

if (--cl->refcnt == 0)
drr_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().
*/

sch_tree_unlock(sch);
return 0;
Expand Down
7 changes: 5 additions & 2 deletions trunk/net/sched/sch_hfsc.c
Original file line number Diff line number Diff line change
Expand Up @@ -1139,8 +1139,11 @@ hfsc_delete_class(struct Qdisc *sch, unsigned long arg)
hfsc_purge_queue(sch, cl);
qdisc_class_hash_remove(&q->clhash, &cl->cl_common);

if (--cl->refcnt == 0)
hfsc_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().
*/

sch_tree_unlock(sch);
return 0;
Expand Down
7 changes: 5 additions & 2 deletions trunk/net/sched/sch_htb.c
Original file line number Diff line number Diff line change
Expand Up @@ -1275,8 +1275,11 @@ static int htb_delete(struct Qdisc *sch, unsigned long arg)
if (last_child)
htb_parent_to_leaf(q, cl, new_q);

if (--cl->refcnt == 0)
htb_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().
*/

sch_tree_unlock(sch);
return 0;
Expand Down

0 comments on commit 07ccf8c

Please sign in to comment.