Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d17468c7 authored by Alan Cox's avatar Alan Cox Committed by Linus Torvalds
Browse files

tty: drop the BKL for driver/ldisc ioctl methods



Now we have pushed the lock down we can stop wrapping the call with a lock in
the tty layer.

Signed-off-by: default avatarAlan Cox <alan@redhat.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 1c2630cc
Loading
Loading
Loading
Loading
+1 −8
Original line number Diff line number Diff line
@@ -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;
	}