diff options
author | Alan Cox <alan@linux.intel.com> | 2012-05-09 17:03:19 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-05-09 14:40:27 -0700 |
commit | b1d679afd766cf425ba1cd2a0fd17451bd212f4a (patch) | |
tree | e1f46c9c1856c654bd52d9a32d19574754f16e76 /drivers/tty | |
parent | fd11b42e3598779cb25feaefb1d534a39fc35009 (diff) | |
download | op-kernel-dev-b1d679afd766cf425ba1cd2a0fd17451bd212f4a.zip op-kernel-dev-b1d679afd766cf425ba1cd2a0fd17451bd212f4a.tar.gz |
tty: drop the pty lock during hangup
In theory we don't need it, in practice we are hitting some ill understood
deadlock when we don't drop it. The old code dropped it here so we are not
undoing anything problematic for pty. If pty could be unloaded it would be
a problem but it can't.
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/pty.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/tty/pty.c b/drivers/tty/pty.c index d6fa842..59af394 100644 --- a/drivers/tty/pty.c +++ b/drivers/tty/pty.c @@ -63,7 +63,9 @@ static void pty_close(struct tty_struct *tty, struct file *filp) mutex_unlock(&devpts_mutex); } #endif + tty_unlock(tty); tty_vhangup(tty->link); + tty_lock(tty); } } |