diff options
Diffstat (limited to 'drivers/tty/n_tty.c')
-rw-r--r-- | drivers/tty/n_tty.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/tty/n_tty.c b/drivers/tty/n_tty.c index d655416087b7..6c7fe90ad72d 100644 --- a/drivers/tty/n_tty.c +++ b/drivers/tty/n_tty.c | |||
@@ -1573,6 +1573,14 @@ static void n_tty_set_termios(struct tty_struct *tty, struct ktermios *old) | |||
1573 | ldata->real_raw = 0; | 1573 | ldata->real_raw = 0; |
1574 | } | 1574 | } |
1575 | n_tty_set_room(tty); | 1575 | n_tty_set_room(tty); |
1576 | /* | ||
1577 | * Fix tty hang when I_IXON(tty) is cleared, but the tty | ||
1578 | * been stopped by STOP_CHAR(tty) before it. | ||
1579 | */ | ||
1580 | if (!I_IXON(tty) && old && (old->c_iflag & IXON) && !tty->flow_stopped) { | ||
1581 | start_tty(tty); | ||
1582 | } | ||
1583 | |||
1576 | /* The termios change make the tty ready for I/O */ | 1584 | /* The termios change make the tty ready for I/O */ |
1577 | wake_up_interruptible(&tty->write_wait); | 1585 | wake_up_interruptible(&tty->write_wait); |
1578 | wake_up_interruptible(&tty->read_wait); | 1586 | wake_up_interruptible(&tty->read_wait); |