Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 84850
b: refs/heads/master
c: a2fea5f
h: refs/heads/master
v: v3
  • Loading branch information
Urs Thuermann authored and David S. Miller committed Feb 8, 2008
1 parent 125a108 commit 6aac3c9
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 14 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 5423dd67bd0108a180784c6f307646622e804c9b
refs/heads/master: a2fea5f19f970b45e854c22cab25250a79613643
27 changes: 14 additions & 13 deletions trunk/net/can/af_can.c
Original file line number Diff line number Diff line change
Expand Up @@ -656,26 +656,26 @@ int can_proto_register(struct can_proto *cp)
return -EINVAL;
}

err = proto_register(cp->prot, 0);
if (err < 0)
return err;

spin_lock(&proto_tab_lock);
if (proto_tab[proto]) {
printk(KERN_ERR "can: protocol %d already registered\n",
proto);
err = -EBUSY;
goto errout;
} else {
proto_tab[proto] = cp;

/* use generic ioctl function if not defined by module */
if (!cp->ops->ioctl)
cp->ops->ioctl = can_ioctl;
}
spin_unlock(&proto_tab_lock);

err = proto_register(cp->prot, 0);
if (err < 0)
goto errout;

proto_tab[proto] = cp;

/* use generic ioctl function if the module doesn't bring its own */
if (!cp->ops->ioctl)
cp->ops->ioctl = can_ioctl;

errout:
spin_unlock(&proto_tab_lock);
proto_unregister(cp->prot);

return err;
}
Expand All @@ -694,9 +694,10 @@ void can_proto_unregister(struct can_proto *cp)
printk(KERN_ERR "BUG: can: protocol %d is not registered\n",
proto);
}
proto_unregister(cp->prot);
proto_tab[proto] = NULL;
spin_unlock(&proto_tab_lock);

proto_unregister(cp->prot);
}
EXPORT_SYMBOL(can_proto_unregister);

Expand Down

0 comments on commit 6aac3c9

Please sign in to comment.