We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 97ab388 commit 03ab21fCopy full SHA for 03ab21f
drivers/tty/n_gsm.c
@@ -2377,8 +2377,18 @@ static int gsmld_attach_gsm(struct tty_struct *tty, struct gsm_mux *gsm)
2377
/* Don't register device 0 - this is the control channel and not
2378
a usable tty interface */
2379
base = mux_num_to_base(gsm); /* Base for this MUX */
2380
- for (i = 1; i < NUM_DLCI; i++)
2381
- tty_register_device(gsm_tty_driver, base + i, NULL);
+ for (i = 1; i < NUM_DLCI; i++) {
+ struct device *dev;
2382
+
2383
+ dev = tty_register_device(gsm_tty_driver,
2384
+ base + i, NULL);
2385
+ if (IS_ERR(dev)) {
2386
+ for (i--; i >= 1; i--)
2387
+ tty_unregister_device(gsm_tty_driver,
2388
+ base + i);
2389
+ return PTR_ERR(dev);
2390
+ }
2391
2392
}
2393
return ret;
2394
0 commit comments