summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUrs Thuermann <urs.thuermann@volkswagen.de>2008-02-08 05:04:21 +0300
committerDavid S. Miller <davem@davemloft.net>2008-02-08 05:04:21 +0300
commit5423dd67bd0108a180784c6f307646622e804c9b (patch)
treeef47886838e7a6b9fddf3f6b59a2bbea8828b66f
parent5f58a5c8725b48f3e32851f9748527c8d1ff71b2 (diff)
downloadlinux-5423dd67bd0108a180784c6f307646622e804c9b.tar.xz
[CAN]: Clean up module auto loading
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>
-rw-r--r--net/can/af_can.c18
1 files changed, 6 insertions, 12 deletions
diff --git a/net/can/af_can.c b/net/can/af_can.c
index 5158e886630f..1f51b8a18242 100644
--- a/net/can/af_can.c
+++ b/net/can/af_can.c
@@ -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;
@@ -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];