Commit e2c4b72158a9f1286df41dee478e774f1b94e93a

Authored by Roman Kagan
Committed by David S. Miller
1 parent 6b251858d3

[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

... ... @@ -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