static const struct tcf_proto_ops *tcf_proto_lookup_ops(struct nlattr *kind)
 {
-       const struct tcf_proto_ops *t = NULL;
+       const struct tcf_proto_ops *t, *res = NULL;
 
        if (kind) {
                read_lock(&cls_mod_lock);
                list_for_each_entry(t, &tcf_proto_base, head) {
                        if (nla_strcmp(kind, t->kind) == 0) {
-                               if (!try_module_get(t->owner))
-                                       t = NULL;
+                               if (try_module_get(t->owner))
+                                       res = t;
                                break;
                        }
                }
                read_unlock(&cls_mod_lock);
        }
-       return t;
+       return res;
 }
 
 /* Register(unregister) new classifier type */
        int rc = -ENOENT;
 
        write_lock(&cls_mod_lock);
-       list_for_each_entry(t, &tcf_proto_base, head)
-               if (t == ops)
+       list_for_each_entry(t, &tcf_proto_base, head) {
+               if (t == ops) {
+                       list_del(&t->head);
+                       rc = 0;
                        break;
-
-       if (!t)
-               goto out;
-       list_del(&t->head);
-       rc = 0;
-out:
+               }
+       }
        write_unlock(&cls_mod_lock);
        return rc;
 }