summaryrefslogtreecommitdiffstats
path: root/drivers/tty/vt
diff options
context:
space:
mode:
authorAlan Cox <alan@linux.intel.com>2012-03-02 14:59:49 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-03-08 11:10:28 -0800
commit99cceb4e50cb67720e779f6611476bcb611af6b8 (patch)
tree473820bdfe0ac99fd7bd31eaeb6617338b68456e /drivers/tty/vt
parent20f62579dccc84428554b914e24a312a6554f841 (diff)
downloadlinux-99cceb4e50cb67720e779f6611476bcb611af6b8.tar.gz
linux-99cceb4e50cb67720e779f6611476bcb611af6b8.tar.bz2
linux-99cceb4e50cb67720e779f6611476bcb611af6b8.zip
vt: waitevent is self locked so drop the tty_lock
Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/vt')
-rw-r--r--drivers/tty/vt/vt_ioctl.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/drivers/tty/vt/vt_ioctl.c b/drivers/tty/vt/vt_ioctl.c
index c6720be8d210..ede2ef18d2fb 100644
--- a/drivers/tty/vt/vt_ioctl.c
+++ b/drivers/tty/vt/vt_ioctl.c
@@ -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;
}