aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/tty/tty_io.c19
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;
}