aboutsummaryrefslogtreecommitdiffstats
path: root/net/sched/sch_api.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/sched/sch_api.c')
-rw-r--r--net/sched/sch_api.c18
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
1223void tcf_destroy(struct tcf_proto *tp)
1224{
1225 tp->ops->destroy(tp);
1226 module_put(tp->ops->owner);
1227 kfree(tp);
1228}
1229
1230void 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}
1239EXPORT_SYMBOL(tcf_destroy_chain);
1240
1223#ifdef CONFIG_PROC_FS 1241#ifdef CONFIG_PROC_FS
1224static int psched_show(struct seq_file *seq, void *v) 1242static int psched_show(struct seq_file *seq, void *v)
1225{ 1243{