Commit 99cceb4e authored by Alan Cox's avatar Alan Cox Committed by Greg Kroah-Hartman
Browse files

vt: waitevent is self locked so drop the tty_lock

parent 20f62579
Loading
Loading
Loading
Loading
+2 −9
Original line number Diff line number Diff line
@@ -130,7 +130,7 @@ static void vt_event_wait(struct vt_event_wait *vw)
	list_add(&vw->list, &vt_events);
	spin_unlock_irqrestore(&vt_event_lock, flags);
	/* Wait for it to pass */
	wait_event_interruptible_tty(vt_event_waitqueue, vw->done);
	wait_event_interruptible(vt_event_waitqueue, vw->done);
	/* Dequeue it */
	spin_lock_irqsave(&vt_event_lock, flags);
	list_del(&vw->list);
@@ -671,11 +671,8 @@ int vt_ioctl(struct tty_struct *tty,
			return -EPERM;
		if (arg == 0 || arg > MAX_NR_CONSOLES)
			ret = -ENXIO;
		else {
			tty_lock();
		else
			ret = vt_waitactive(arg);
			tty_unlock();
		}
		break;

	/*
@@ -1426,14 +1423,10 @@ int vt_move_to_console(unsigned int vt, int alloc)
		return -EIO;
	}
	console_unlock();
	/* Review: I don't see why we need tty_lock here FIXME */
	tty_lock();
	if (vt_waitactive(vt + 1)) {
		pr_debug("Suspend: Can't switch VCs.");
		tty_unlock();
		return -EINTR;
	}
	tty_unlock();
	return prev;
}