--- 2.5/drivers/char/n_tty.c 2003-07-05 09:13:01.000000000 +0200 +++ build-2.5/drivers/char/n_tty.c 2003-07-27 20:44:58.000000000 +0200 @@ -1251,7 +1251,8 @@ else tty->minimum_to_wake = 1; } - if (tty->driver->chars_in_buffer(tty) < WAKEUP_CHARS) + if (tty->driver->chars_in_buffer(tty) < WAKEUP_CHARS && + tty->driver->write_room(tty) > 0) mask |= POLLOUT | POLLWRNORM; return mask; }