diff options
-rw-r--r-- | drivers/char/tty_io.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/drivers/char/tty_io.c b/drivers/char/tty_io.c index 2460c4c76161..35c7d2eb8b28 100644 --- a/drivers/char/tty_io.c +++ b/drivers/char/tty_io.c @@ -3459,11 +3459,8 @@ long tty_ioctl(struct file *file, unsigned int cmd, unsigned long arg) switch (cmd) { case TIOCSBRK: case TIOCCBRK: - if (tty->driver->ioctl) { - lock_kernel(); + if (tty->driver->ioctl) retval = tty->driver->ioctl(tty, file, cmd, arg); - unlock_kernel(); - } return retval; /* These two ioctl's always return success; even if */ @@ -3584,18 +3581,14 @@ long tty_ioctl(struct file *file, unsigned int cmd, unsigned long arg) break; } if (tty->driver->ioctl) { - lock_kernel(); retval = (tty->driver->ioctl)(tty, file, cmd, arg); - unlock_kernel(); if (retval != -ENOIOCTLCMD) return retval; } ld = tty_ldisc_ref_wait(tty); retval = -EINVAL; if (ld->ioctl) { - lock_kernel(); retval = ld->ioctl(tty, file, cmd, arg); - unlock_kernel(); if (retval == -ENOIOCTLCMD) retval = -EINVAL; } |