aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/tty/tty_ldisc.c
diff options
context:
space:
mode:
authorPeter Hurley <peter@hurleysoftware.com>2013-06-15 07:04:50 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-07-23 19:38:35 -0400
commite97733ca677878d0ecf08af17f4661eb83e268bc (patch)
treee0961f2ab449e6f9cce43a9a0992fd25aa1de653 /drivers/tty/tty_ldisc.c
parent9fbfa34c18b31978bf6bab26148f84d7a4b3ccea (diff)
tty: Fix hangup race with TIOCSETD ioctl
The hangup may already have happened; check for that state also. Signed-off-by: Peter Hurley <peter@hurleysoftware.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/tty_ldisc.c')
-rw-r--r--drivers/tty/tty_ldisc.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/tty/tty_ldisc.c b/drivers/tty/tty_ldisc.c
index 31bd45a2d16b..5819667f5bdb 100644
--- a/drivers/tty/tty_ldisc.c
+++ b/drivers/tty/tty_ldisc.c
@@ -546,10 +546,8 @@ int tty_set_ldisc(struct tty_struct *tty, int ldisc)
546 old_ldisc = tty->ldisc; 546 old_ldisc = tty->ldisc;
547 tty_lock(tty); 547 tty_lock(tty);
548 548
549 /* FIXME: for testing only */ 549 if (test_bit(TTY_HUPPING, &tty->flags) ||
550 WARN_ON(test_bit(TTY_HUPPED, &tty->flags)); 550 test_bit(TTY_HUPPED, &tty->flags)) {
551
552 if (test_bit(TTY_HUPPING, &tty->flags)) {
553 /* We were raced by the hangup method. It will have stomped 551 /* We were raced by the hangup method. It will have stomped
554 the ldisc data and closed the ldisc down */ 552 the ldisc data and closed the ldisc down */
555 tty_ldisc_enable_pair(tty, o_tty); 553 tty_ldisc_enable_pair(tty, o_tty);