Skip to content

Commit

Permalink
[CAN]: Clean up module auto loading
Browse files Browse the repository at this point in the history
Remove local char array to construct module name.
Don't call request_module() when CONFIG_KMOD is not set.

Signed-off-by: Urs Thuermann <urs.thuermann@volkswagen.de>
Signed-off-by: Oliver Hartkopp <oliver.hartkopp@volkswagen.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Urs Thuermann authored and David S. Miller committed Feb 8, 2008
1 parent 5f58a5c commit 5423dd6
Showing 1 changed file with 6 additions and 12 deletions.
18 changes: 6 additions & 12 deletions net/can/af_can.c
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,6 @@ static int can_create(struct net *net, struct socket *sock, int protocol)
{
struct sock *sk;
struct can_proto *cp;
char module_name[sizeof("can-proto-000")];
int err = 0;

sock->state = SS_UNCONNECTED;
Expand All @@ -129,26 +128,21 @@ static int can_create(struct net *net, struct socket *sock, int protocol)
if (net != &init_net)
return -EAFNOSUPPORT;

#ifdef CONFIG_KMOD
/* try to load protocol module, when CONFIG_KMOD is defined */
if (!proto_tab[protocol]) {
sprintf(module_name, "can-proto-%d", protocol);
err = request_module(module_name);
err = request_module("can-proto-%d", protocol);

/*
* In case of error we only print a message but don't
* return the error code immediately. Below we will
* return -EPROTONOSUPPORT
*/
if (err == -ENOSYS) {
if (printk_ratelimit())
printk(KERN_INFO "can: request_module(%s)"
" not implemented.\n", module_name);
} else if (err) {
if (printk_ratelimit())
printk(KERN_ERR "can: request_module(%s)"
" failed.\n", module_name);
}
if (err && printk_ratelimit())
printk(KERN_ERR "can: request_module "
"(can-proto-%d) failed.\n", protocol);
}
#endif

spin_lock(&proto_tab_lock);
cp = proto_tab[protocol];
Expand Down

0 comments on commit 5423dd6

Please sign in to comment.