summaryrefslogtreecommitdiffstats
path: root/net/atm/ioctl.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@starflyer.(none)>2005-10-20 18:21:33 +1000
committerDave Airlie <airlied@linux.ie>2005-10-20 18:21:33 +1000
commit312f5726055534be1dc9dd369be13aabd2943fcb (patch)
tree29394a3f83b4952a73b36a4aa962dfeda839e9db /net/atm/ioctl.c
parent3d5efad953c6d5ba11d5bcb584ef8e906f953a73 (diff)
parent93918e9afc76717176e9e114e79cdbb602a45ae8 (diff)
downloadtalos-op-linux-312f5726055534be1dc9dd369be13aabd2943fcb.tar.gz
talos-op-linux-312f5726055534be1dc9dd369be13aabd2943fcb.zip
merge Linus head tree into my drm tree and fix up conflicts
Diffstat (limited to 'net/atm/ioctl.c')
-rw-r--r--net/atm/ioctl.c34
1 files changed, 26 insertions, 8 deletions
diff --git a/net/atm/ioctl.c b/net/atm/ioctl.c
index d89056ec44d4..a150198b05a3 100644
--- a/net/atm/ioctl.c
+++ b/net/atm/ioctl.c
@@ -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);
OpenPOWER on IntegriCloud