diff options
author | Alan Cox <alan@linux.intel.com> | 2012-07-14 15:31:27 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-07-16 12:58:12 -0700 |
commit | 6d31a88cb2e01d46c0cb74aa5da529e1f92ae3db (patch) | |
tree | 09ce3b070a845395f942b0ddeb8149514c0a7446 /drivers/tty/tty_port.c | |
parent | 467a3ca5cab64a16b5ec46ebb1895c84c280dcfe (diff) | |
download | kernel_goldelico_gta04-6d31a88cb2e01d46c0cb74aa5da529e1f92ae3db.zip kernel_goldelico_gta04-6d31a88cb2e01d46c0cb74aa5da529e1f92ae3db.tar.gz kernel_goldelico_gta04-6d31a88cb2e01d46c0cb74aa5da529e1f92ae3db.tar.bz2 |
tty: revert incorrectly applied lock patch
I sent GregKH this after the pre-requisites. He dropped the pre-requesites
for good reason and unfortunately then applied this patch. Without this
reverted you get random kernel memory corruption which will make bisecting
anything between it and the properly applied patches a complete sod.
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/tty_port.c')
-rw-r--r-- | drivers/tty/tty_port.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/tty/tty_port.c b/drivers/tty/tty_port.c index a3ba776..4e9d2b2 100644 --- a/drivers/tty/tty_port.c +++ b/drivers/tty/tty_port.c @@ -239,7 +239,7 @@ int tty_port_block_til_ready(struct tty_port *port, /* block if port is in the process of being closed */ if (tty_hung_up_p(filp) || port->flags & ASYNC_CLOSING) { - wait_event_interruptible_tty(tty, port->close_wait, + wait_event_interruptible_tty(port->close_wait, !(port->flags & ASYNC_CLOSING)); if (port->flags & ASYNC_HUP_NOTIFY) return -EAGAIN; @@ -305,9 +305,9 @@ int tty_port_block_til_ready(struct tty_port *port, retval = -ERESTARTSYS; break; } - tty_unlock(tty); + tty_unlock(); schedule(); - tty_lock(tty); + tty_lock(); } finish_wait(&port->open_wait, &wait); |