diff options
author | Patrick McHardy <kaber@trash.net> | 2008-07-06 02:23:27 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-07-06 02:23:27 -0400 |
commit | aee18a8cf28808b7302ef698d77fa73883e60f1b (patch) | |
tree | 588722b785cea394c13997dfa1502ed041588d8c /net/sched/sch_htb.c | |
parent | 4207759939c208f24d7e09596753e67b6bc188f9 (diff) |
net-sched: sch_htb: remove write-only qdisc filter_cnt
The filter_cnt is supposed to count filter references to a class.
Since the qdisc can't be the target of a filter, it doesn't need
a filter_cnt. In fact the counter is never decreased since cls_api
considers a return value of zero a failure and doesn't unbind again.
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched/sch_htb.c')
-rw-r--r-- | net/sched/sch_htb.c | 7 |
1 files changed, 0 insertions, 7 deletions
diff --git a/net/sched/sch_htb.c b/net/sched/sch_htb.c index 128a5ab2e376..ee8b4ffe110c 100644 --- a/net/sched/sch_htb.c +++ b/net/sched/sch_htb.c | |||
@@ -159,7 +159,6 @@ struct htb_sched { | |||
159 | 159 | ||
160 | /* filters for qdisc itself */ | 160 | /* filters for qdisc itself */ |
161 | struct tcf_proto *filter_list; | 161 | struct tcf_proto *filter_list; |
162 | int filter_cnt; | ||
163 | 162 | ||
164 | int rate2quantum; /* quant = rate / rate2quantum */ | 163 | int rate2quantum; /* quant = rate / rate2quantum */ |
165 | psched_time_t now; /* cached dequeue time */ | 164 | psched_time_t now; /* cached dequeue time */ |
@@ -1484,7 +1483,6 @@ static struct tcf_proto **htb_find_tcf(struct Qdisc *sch, unsigned long arg) | |||
1484 | static unsigned long htb_bind_filter(struct Qdisc *sch, unsigned long parent, | 1483 | static unsigned long htb_bind_filter(struct Qdisc *sch, unsigned long parent, |
1485 | u32 classid) | 1484 | u32 classid) |
1486 | { | 1485 | { |
1487 | struct htb_sched *q = qdisc_priv(sch); | ||
1488 | struct htb_class *cl = htb_find(classid, sch); | 1486 | struct htb_class *cl = htb_find(classid, sch); |
1489 | 1487 | ||
1490 | /*if (cl && !cl->level) return 0; | 1488 | /*if (cl && !cl->level) return 0; |
@@ -1498,20 +1496,15 @@ static unsigned long htb_bind_filter(struct Qdisc *sch, unsigned long parent, | |||
1498 | */ | 1496 | */ |
1499 | if (cl) | 1497 | if (cl) |
1500 | cl->filter_cnt++; | 1498 | cl->filter_cnt++; |
1501 | else | ||
1502 | q->filter_cnt++; | ||
1503 | return (unsigned long)cl; | 1499 | return (unsigned long)cl; |
1504 | } | 1500 | } |
1505 | 1501 | ||
1506 | static void htb_unbind_filter(struct Qdisc *sch, unsigned long arg) | 1502 | static void htb_unbind_filter(struct Qdisc *sch, unsigned long arg) |
1507 | { | 1503 | { |
1508 | struct htb_sched *q = qdisc_priv(sch); | ||
1509 | struct htb_class *cl = (struct htb_class *)arg; | 1504 | struct htb_class *cl = (struct htb_class *)arg; |
1510 | 1505 | ||
1511 | if (cl) | 1506 | if (cl) |
1512 | cl->filter_cnt--; | 1507 | cl->filter_cnt--; |
1513 | else | ||
1514 | q->filter_cnt--; | ||
1515 | } | 1508 | } |
1516 | 1509 | ||
1517 | static void htb_walk(struct Qdisc *sch, struct qdisc_walker *arg) | 1510 | static void htb_walk(struct Qdisc *sch, struct qdisc_walker *arg) |