mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-28 22:54:05 +08:00
[ATM]: net/atm/ioctl.c: autoload pppoatm and br2684
Signed-off-by: Roman Kagan <rkagan@mail.ru> Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>
This commit is contained in:
parent
6b251858d3
commit
e2c4b72158
@ -105,17 +105,35 @@ int vcc_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
|
||||
if (!error)
|
||||
sock->state = SS_CONNECTED;
|
||||
goto done;
|
||||
default:
|
||||
case ATM_SETBACKEND:
|
||||
case ATM_NEWBACKENDIF:
|
||||
{
|
||||
atm_backend_t backend;
|
||||
error = get_user(backend, (atm_backend_t __user *) argp);
|
||||
if (error)
|
||||
goto done;
|
||||
switch (backend) {
|
||||
case ATM_BACKEND_PPP:
|
||||
request_module("pppoatm");
|
||||
break;
|
||||
case ATM_BACKEND_BR2684:
|
||||
request_module("br2684");
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case ATMMPC_CTRL:
|
||||
case ATMMPC_DATA:
|
||||
request_module("mpoa");
|
||||
break;
|
||||
case ATMARPD_CTRL:
|
||||
request_module("clip");
|
||||
break;
|
||||
case ATMLEC_CTRL:
|
||||
request_module("lec");
|
||||
break;
|
||||
}
|
||||
|
||||
if (cmd == ATMMPC_CTRL || cmd == ATMMPC_DATA)
|
||||
request_module("mpoa");
|
||||
if (cmd == ATMARPD_CTRL)
|
||||
request_module("clip");
|
||||
if (cmd == ATMLEC_CTRL)
|
||||
request_module("lec");
|
||||
|
||||
error = -ENOIOCTLCMD;
|
||||
|
||||
down(&ioctl_mutex);
|
||||
|
Loading…
Reference in New Issue
Block a user