diff options
author | Alan Cox <alan@linux.intel.com> | 2012-03-02 09:59:49 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-03-08 14:10:28 -0500 |
commit | 99cceb4e50cb67720e779f6611476bcb611af6b8 (patch) | |
tree | 473820bdfe0ac99fd7bd31eaeb6617338b68456e /drivers/tty | |
parent | 20f62579dccc84428554b914e24a312a6554f841 (diff) |
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')
-rw-r--r-- | drivers/tty/vt/vt_ioctl.c | 11 |
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) | |||
130 | list_add(&vw->list, &vt_events); | 130 | list_add(&vw->list, &vt_events); |
131 | spin_unlock_irqrestore(&vt_event_lock, flags); | 131 | spin_unlock_irqrestore(&vt_event_lock, flags); |
132 | /* Wait for it to pass */ | 132 | /* Wait for it to pass */ |
133 | wait_event_interruptible_tty(vt_event_waitqueue, vw->done); | 133 | wait_event_interruptible(vt_event_waitqueue, vw->done); |
134 | /* Dequeue it */ | 134 | /* Dequeue it */ |
135 | spin_lock_irqsave(&vt_event_lock, flags); | 135 | spin_lock_irqsave(&vt_event_lock, flags); |
136 | list_del(&vw->list); | 136 | list_del(&vw->list); |
@@ -671,11 +671,8 @@ int vt_ioctl(struct tty_struct *tty, | |||
671 | return -EPERM; | 671 | return -EPERM; |
672 | if (arg == 0 || arg > MAX_NR_CONSOLES) | 672 | if (arg == 0 || arg > MAX_NR_CONSOLES) |
673 | ret = -ENXIO; | 673 | ret = -ENXIO; |
674 | else { | 674 | else |
675 | tty_lock(); | ||
676 | ret = vt_waitactive(arg); | 675 | ret = vt_waitactive(arg); |
677 | tty_unlock(); | ||
678 | } | ||
679 | break; | 676 | break; |
680 | 677 | ||
681 | /* | 678 | /* |
@@ -1426,14 +1423,10 @@ int vt_move_to_console(unsigned int vt, int alloc) | |||
1426 | return -EIO; | 1423 | return -EIO; |
1427 | } | 1424 | } |
1428 | console_unlock(); | 1425 | console_unlock(); |
1429 | /* Review: I don't see why we need tty_lock here FIXME */ | ||
1430 | tty_lock(); | ||
1431 | if (vt_waitactive(vt + 1)) { | 1426 | if (vt_waitactive(vt + 1)) { |
1432 | pr_debug("Suspend: Can't switch VCs."); | 1427 | pr_debug("Suspend: Can't switch VCs."); |
1433 | tty_unlock(); | ||
1434 | return -EINTR; | 1428 | return -EINTR; |
1435 | } | 1429 | } |
1436 | tty_unlock(); | ||
1437 | return prev; | 1430 | return prev; |
1438 | } | 1431 | } |
1439 | 1432 | ||