A quick further look suggests you need to add if (tty->fasync && (b - buf) != nr) set_bit(TTY_DO_WRITE_WAKEUP, &tty->flags);at the bottom of n_tty_write just before the return statement.Alan