Commit 570f6c65 authored by David S. Miller's avatar David S. Miller

[SCHED]: Some schedulers forget to flush filter list at destroy.

parent 08ec8be5
......@@ -749,6 +749,14 @@ csz_reset(struct Qdisc* sch)
static void
csz_destroy(struct Qdisc* sch)
{
struct csz_sched_data *q = (struct csz_sched_data *)sch->data;
struct tcf_proto *tp;
while ((tp = q->filter_list) != NULL) {
q->filter_list = tp->next;
tp->ops->destroy(tp);
}
MOD_DEC_USE_COUNT;
}
......
......@@ -158,6 +158,12 @@ prio_destroy(struct Qdisc* sch)
{
int prio;
struct prio_sched_data *q = (struct prio_sched_data *)sch->data;
struct tcf_proto *tp;
while ((tp = q->filter_list) != NULL) {
q->filter_list = tp->next;
tp->ops->destroy(tp);
}
for (prio=0; prio<q->bands; prio++) {
qdisc_destroy(q->queues[prio]);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment