diff --git a/drivers/tty/n_tty.c b/drivers/tty/n_tty.c index 41c0c80094a501999c15ab4f378197ee0a79ab45..5372bf0e74ab17a1c29c907e08289c16fe5ca3e2 100644 --- a/drivers/tty/n_tty.c +++ b/drivers/tty/n_tty.c @@ -1752,11 +1752,8 @@ int is_ignored(int sig) static void n_tty_set_termios(struct tty_struct *tty, struct ktermios *old) { struct n_tty_data *ldata = tty->disc_data; - int canon_change = 1; - if (old) - canon_change = (old->c_lflag ^ tty->termios.c_lflag) & ICANON; - if (canon_change) { + if (!old || (old->c_lflag ^ tty->termios.c_lflag) & ICANON) { bitmap_zero(ldata->read_flags, N_TTY_BUF_SIZE); ldata->line_start = 0; ldata->canon_head = ldata->read_tail;