diff options
Diffstat (limited to 'drivers/tty/tty_io.c')
-rw-r--r-- | drivers/tty/tty_io.c | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/drivers/tty/tty_io.c b/drivers/tty/tty_io.c index ba9194e7b9c..76e66ff5e65 100644 --- a/drivers/tty/tty_io.c +++ b/drivers/tty/tty_io.c @@ -1841,16 +1841,17 @@ static struct tty_driver *tty_lookup_driver(dev_t device, struct file *filp, { struct tty_driver *driver; + switch (device) { #ifdef CONFIG_VT - if (device == MKDEV(TTY_MAJOR, 0)) { + case MKDEV(TTY_MAJOR, 0): { extern struct tty_driver *console_driver; driver = tty_driver_kref_get(console_driver); *index = fg_console; *noctty = 1; - return driver; + break; } #endif - if (device == MKDEV(TTYAUX_MAJOR, 1)) { + case MKDEV(TTYAUX_MAJOR, 1): { struct tty_driver *console_driver = console_device(index); if (console_driver) { driver = tty_driver_kref_get(console_driver); @@ -1858,15 +1859,17 @@ static struct tty_driver *tty_lookup_driver(dev_t device, struct file *filp, /* Don't let /dev/console block */ filp->f_flags |= O_NONBLOCK; *noctty = 1; - return driver; + break; } } return ERR_PTR(-ENODEV); } - - driver = get_tty_driver(device, index); - if (!driver) - return ERR_PTR(-ENODEV); + default: + driver = get_tty_driver(device, index); + if (!driver) + return ERR_PTR(-ENODEV); + break; + } return driver; } |