提交 4d24b52a 编写于 作者: A Alexey Dobriyan 提交者: David S. Miller

ematch: simpler tcf_em_unregister()

Simply delete ops from list and let list debugging do the job.
Signed-off-by: NAlexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 6eba6a37
......@@ -246,7 +246,7 @@ struct tcf_ematch_ops
};
extern int tcf_em_register(struct tcf_ematch_ops *);
extern int tcf_em_unregister(struct tcf_ematch_ops *);
extern void tcf_em_unregister(struct tcf_ematch_ops *);
extern int tcf_em_tree_validate(struct tcf_proto *, struct nlattr *,
struct tcf_ematch_tree *);
extern void tcf_em_tree_destroy(struct tcf_proto *, struct tcf_ematch_tree *);
......
......@@ -71,7 +71,7 @@
*
* static void __exit exit_my_ematch(void)
* {
* return tcf_em_unregister(&my_ops);
* tcf_em_unregister(&my_ops);
* }
*
* module_init(init_my_ematch);
......@@ -154,23 +154,11 @@ EXPORT_SYMBOL(tcf_em_register);
*
* Returns -ENOENT if no matching ematch was found.
*/
int tcf_em_unregister(struct tcf_ematch_ops *ops)
void tcf_em_unregister(struct tcf_ematch_ops *ops)
{
int err = 0;
struct tcf_ematch_ops *e;
write_lock(&ematch_mod_lock);
list_for_each_entry(e, &ematch_ops, link) {
if (e == ops) {
list_del(&e->link);
goto out;
}
}
err = -ENOENT;
out:
list_del(&ops->link);
write_unlock(&ematch_mod_lock);
return err;
}
EXPORT_SYMBOL(tcf_em_unregister);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册