diff options
Diffstat (limited to 'net/sched/sch_api.c')
-rw-r--r-- | net/sched/sch_api.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/net/sched/sch_api.c b/net/sched/sch_api.c index 58732509160d..5b5bce0694e2 100644 --- a/net/sched/sch_api.c +++ b/net/sched/sch_api.c | |||
@@ -1220,6 +1220,24 @@ reclassify: | |||
1220 | return -1; | 1220 | return -1; |
1221 | } | 1221 | } |
1222 | 1222 | ||
1223 | void tcf_destroy(struct tcf_proto *tp) | ||
1224 | { | ||
1225 | tp->ops->destroy(tp); | ||
1226 | module_put(tp->ops->owner); | ||
1227 | kfree(tp); | ||
1228 | } | ||
1229 | |||
1230 | void tcf_destroy_chain(struct tcf_proto *fl) | ||
1231 | { | ||
1232 | struct tcf_proto *tp; | ||
1233 | |||
1234 | while ((tp = fl) != NULL) { | ||
1235 | fl = tp->next; | ||
1236 | tcf_destroy(tp); | ||
1237 | } | ||
1238 | } | ||
1239 | EXPORT_SYMBOL(tcf_destroy_chain); | ||
1240 | |||
1223 | #ifdef CONFIG_PROC_FS | 1241 | #ifdef CONFIG_PROC_FS |
1224 | static int psched_show(struct seq_file *seq, void *v) | 1242 | static int psched_show(struct seq_file *seq, void *v) |
1225 | { | 1243 | { |