| Submitter | Jarek Poplawski |
|---|---|
| Date | Dec. 9, 2008, 10:21 a.m. |
| Message ID | <20081209102148.GE14862@ff.dom.local> |
| Download | mbox | patch |
| Permalink | /patch/12911/ |
| State | Accepted |
| Delegated to: | David Miller |
| Headers | show |
Comments
Patch
diff --git a/net/sched/sch_htb.c b/net/sched/sch_htb.c index 2e0a74c..f44a4be 100644 --- a/net/sched/sch_htb.c +++ b/net/sched/sch_htb.c @@ -702,14 +702,14 @@ static struct rb_node *htb_id_find_next_upper(int prio, struct rb_node *n, while (n) { struct htb_class *cl = rb_entry(n, struct htb_class, node[prio]); - if (id == cl->common.classid) - return n; if (id > cl->common.classid) { n = n->rb_right; - } else { + } else if (id < cl->common.classid) { r = n; n = n->rb_left; + } else { + return n; } } return r;
htb_id_find_next_upper() is usually called to find a class with next id after some previously removed class, so let's move a check for equality to the end: it's the least likely here. Signed-off-by: Jarek Poplawski <jarkao2@gmail.com> --- net/sched/sch_htb.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-)