Greg, Sometimes when interrupting terminal output, the '^C' won't be echoed until more output is echoed. This is fairly repeatable by interrupting 'cat large-file'. The common reason for this is because the tty write buffer is full, even though the write buffer _should_ have been flushed already. Because of a known deadlock, the pty driver does not perform a write buffer flush in its flush_buffer() method. [Refer to the FIXME in pty_flush_buffer() from commit d945cb9cce20ac7143c2de8d88b187f62db99bdc, 'pty: Rework the pty layer to use the normal buffering logic'] Patch 1 fixes a stale comment. Patch 2 adds the necessary interfaces to avoid direct linkage between the N_TTY line discipline and the pty driver. Patch 3 avoids the deadlock while performing the write buffer flush. Patch 4 fixes a less common condition introduced by the echo batch processing added in 3.12. Alan, I cc'd you because of your recent involvement in other tty patches/bug fixes and because it's your FIXME comment. Feel free to ignore and/or let me know you would prefer not to be bothered. Regards, Peter Hurley (4): tty: Fix stale tty_buffer_flush() comment tty: Add flush_nested() tty driver method and accessor tty: Fix pty flush n_tty: Flush echoes for signal chars drivers/tty/n_tty.c | 8 +++-- drivers/tty/pty.c | 32 ++++++++++++++++++- drivers/tty/tty_buffer.c | 79 ++++++++++++++++++++++++++++++++++++++++++++-- drivers/tty/tty_ioctl.c | 21 ++++++++++++ include/linux/tty.h | 1 + include/linux/tty_driver.h | 1 + include/linux/tty_flip.h | 2 ++ 7 files changed, 137 insertions(+), 7 deletions(-) -- 1.8.1.2 -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html