diff options
| author | Jeff Garzik <jgarzik@pobox.com> | 2005-10-04 10:16:31 -0400 |
|---|---|---|
| committer | Jeff Garzik <jgarzik@pobox.com> | 2005-10-04 10:16:31 -0400 |
| commit | 2ee73cc2d507df7b28050fba5d08bd33dd34848c (patch) | |
| tree | af5f33b265318e0f4b61f788691fe4f780ec402c /net/atm/ioctl.c | |
| parent | c1d9728ecc5b560465df3c0c0d3b3825c2710b40 (diff) | |
| parent | ed39f731ab2e77e58122232f6e27333331d7793d (diff) | |
Merge /spare/repo/linux-2.6/
Diffstat (limited to 'net/atm/ioctl.c')
| -rw-r--r-- | net/atm/ioctl.c | 34 |
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) | |||
| 105 | if (!error) | 105 | if (!error) |
| 106 | sock->state = SS_CONNECTED; | 106 | sock->state = SS_CONNECTED; |
| 107 | goto done; | 107 | goto done; |
| 108 | default: | 108 | case ATM_SETBACKEND: |
| 109 | case ATM_NEWBACKENDIF: | ||
| 110 | { | ||
| 111 | atm_backend_t backend; | ||
| 112 | error = get_user(backend, (atm_backend_t __user *) argp); | ||
| 113 | if (error) | ||
| 114 | goto done; | ||
| 115 | switch (backend) { | ||
| 116 | case ATM_BACKEND_PPP: | ||
| 117 | request_module("pppoatm"); | ||
| 118 | break; | ||
| 119 | case ATM_BACKEND_BR2684: | ||
| 120 | request_module("br2684"); | ||
| 121 | break; | ||
| 122 | } | ||
| 123 | } | ||
| 124 | break; | ||
| 125 | case ATMMPC_CTRL: | ||
| 126 | case ATMMPC_DATA: | ||
| 127 | request_module("mpoa"); | ||
| 128 | break; | ||
| 129 | case ATMARPD_CTRL: | ||
| 130 | request_module("clip"); | ||
| 131 | break; | ||
| 132 | case ATMLEC_CTRL: | ||
| 133 | request_module("lec"); | ||
| 109 | break; | 134 | break; |
| 110 | } | 135 | } |
| 111 | 136 | ||
| 112 | if (cmd == ATMMPC_CTRL || cmd == ATMMPC_DATA) | ||
| 113 | request_module("mpoa"); | ||
| 114 | if (cmd == ATMARPD_CTRL) | ||
| 115 | request_module("clip"); | ||
| 116 | if (cmd == ATMLEC_CTRL) | ||
| 117 | request_module("lec"); | ||
| 118 | |||
| 119 | error = -ENOIOCTLCMD; | 137 | error = -ENOIOCTLCMD; |
| 120 | 138 | ||
| 121 | down(&ioctl_mutex); | 139 | down(&ioctl_mutex); |
