diff options
author | James Chapman <jchapman@katalix.com> | 2007-04-30 09:21:02 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2007-04-30 09:21:02 +0200 |
commit | 65def812ab25d7565756e5748d91e22e302197ee (patch) | |
tree | 597efd0a9a4f155b78d119624556cca129f8a9e9 | |
parent | [SKB]: Introduce skb_queue_walk_safe() (diff) | |
download | linux-65def812ab25d7565756e5748d91e22e302197ee.tar.xz linux-65def812ab25d7565756e5748d91e22e302197ee.zip |
[L2TP]: Add the ability to autoload a pppox protocol module.
This patch allows a name "pppox-proto-nnn" to be used in modprobe.conf
to autoload a PPPoX protocol nnn.
Signed-off-by: James Chapman <jchapman@katalix.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/pppox.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/net/pppox.c b/drivers/net/pppox.c index 3f8115db4d54..f3e47d0c2b3c 100644 --- a/drivers/net/pppox.c +++ b/drivers/net/pppox.c @@ -31,6 +31,7 @@ #include <linux/ppp_defs.h> #include <linux/if_ppp.h> #include <linux/ppp_channel.h> +#include <linux/kmod.h> #include <net/sock.h> @@ -114,6 +115,13 @@ static int pppox_create(struct socket *sock, int protocol) goto out; rc = -EPROTONOSUPPORT; +#ifdef CONFIG_KMOD + if (!pppox_protos[protocol]) { + char buffer[32]; + sprintf(buffer, "pppox-proto-%d", protocol); + request_module(buffer); + } +#endif if (!pppox_protos[protocol] || !try_module_get(pppox_protos[protocol]->owner)) goto out; |