diff --git a/drivers/tty/n_tty.c b/drivers/tty/n_tty.c index 5cb9be68877d..496fcad4fa91 100644 --- a/drivers/tty/n_tty.c +++ b/drivers/tty/n_tty.c @@ -1876,6 +1876,12 @@ do_it_again: } if (tty_hung_up_p(file)) break; + /* + * Abort readers for ttys which never actually + * get hung up. See __tty_hangup(). + */ + if (test_bit(TTY_HUPPING, &tty->flags)) + break; if (!timeout) break; if (file->f_flags & O_NONBLOCK) {