diff options
author | Peter Hurley <peter@hurleysoftware.com> | 2013-09-17 12:34:14 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-09-17 10:10:51 -0700 |
commit | 93a8d4163ecd3fd8aac264707f1d497f193ea88d (patch) | |
tree | 83ed198c768be81863e2f5d49ebc1667b7d66d27 | |
parent | 0b53861230729f60a4a02a838fb51a2345b16f71 (diff) | |
download | op-kernel-dev-93a8d4163ecd3fd8aac264707f1d497f193ea88d.zip op-kernel-dev-93a8d4163ecd3fd8aac264707f1d497f193ea88d.tar.gz |
n_tty: Fix EOF push index when termios changes
Commit 40d5e0905a03601d40cd4e46b8690093c2355d03,
'n_tty: Fix EOF push handling' introduced a subtle state
change error wrt EOF push handling when the termios is
changed from non-canonical to canonical mode.
Reset line_start to the current read_tail index, not 0.
Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/tty/n_tty.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/tty/n_tty.c b/drivers/tty/n_tty.c index c9a9ddd..01bf5eb 100644 --- a/drivers/tty/n_tty.c +++ b/drivers/tty/n_tty.c @@ -1758,8 +1758,7 @@ static void n_tty_set_termios(struct tty_struct *tty, struct ktermios *old) canon_change = (old->c_lflag ^ tty->termios.c_lflag) & ICANON; if (canon_change) { bitmap_zero(ldata->read_flags, N_TTY_BUF_SIZE); - ldata->line_start = 0; - ldata->canon_head = ldata->read_tail; + ldata->line_start = ldata->canon_head = ldata->read_tail; ldata->erasing = 0; ldata->lnext = 0; } |