diff options
| -rw-r--r-- | drivers/tty/n_tty.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/tty/n_tty.c b/drivers/tty/n_tty.c index 0f74945af624..268b62768f2b 100644 --- a/drivers/tty/n_tty.c +++ b/drivers/tty/n_tty.c | |||
| @@ -810,7 +810,8 @@ static void process_echoes(struct tty_struct *tty) | |||
| 810 | struct n_tty_data *ldata = tty->disc_data; | 810 | struct n_tty_data *ldata = tty->disc_data; |
| 811 | size_t echoed; | 811 | size_t echoed; |
| 812 | 812 | ||
| 813 | if (!L_ECHO(tty) || ldata->echo_commit == ldata->echo_tail) | 813 | if ((!L_ECHO(tty) && !L_ECHONL(tty)) || |
| 814 | ldata->echo_commit == ldata->echo_tail) | ||
| 814 | return; | 815 | return; |
| 815 | 816 | ||
| 816 | mutex_lock(&ldata->output_lock); | 817 | mutex_lock(&ldata->output_lock); |
| @@ -825,7 +826,8 @@ static void flush_echoes(struct tty_struct *tty) | |||
| 825 | { | 826 | { |
| 826 | struct n_tty_data *ldata = tty->disc_data; | 827 | struct n_tty_data *ldata = tty->disc_data; |
| 827 | 828 | ||
| 828 | if (!L_ECHO(tty) || ldata->echo_commit == ldata->echo_head) | 829 | if ((!L_ECHO(tty) && !L_ECHONL(tty)) || |
| 830 | ldata->echo_commit == ldata->echo_head) | ||
| 829 | return; | 831 | return; |
| 830 | 832 | ||
| 831 | mutex_lock(&ldata->output_lock); | 833 | mutex_lock(&ldata->output_lock); |
