Commit e2c4b72158a9f1286df41dee478e774f1b94e93a
Committed by
David S. Miller
1 parent
6b251858d3
Exists in
master
and in
39 other branches
[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>
Showing 1 changed file with 26 additions and 8 deletions Side-by-side Diff
net/atm/ioctl.c
... | ... | @@ -105,16 +105,34 @@ |
105 | 105 | if (!error) |
106 | 106 | sock->state = SS_CONNECTED; |
107 | 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 | + } | |
109 | 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"); | |
134 | + break; | |
110 | 135 | } |
111 | - | |
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 | 136 | |
119 | 137 | error = -ENOIOCTLCMD; |
120 | 138 |