From f9a61f7dcbe1114b6a7d8d041c37c2ea56657571 Mon Sep 17 00:00:00 2001 From: Poul-Henning Kamp Date: Sun, 26 Feb 2012 20:56:49 +0000 Subject: [PATCH] Also call the low-level driver if ->c_iflag & (IXON|IXOFF|IXANY) changes. Uftdi(4) examines (c_iflag & (IXON|IXOFF)) to control hw XON-XOFF support. This is obviously no good, if changes to those bits are not communicated down the stack. --- sys/kern/tty.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/kern/tty.c b/sys/kern/tty.c index 9a701d7ba2e8..8ca6bdf6a7c2 100644 --- a/sys/kern/tty.c +++ b/sys/kern/tty.c @@ -1481,6 +1481,8 @@ tty_generic_ioctl(struct tty *tp, u_long cmd, void *data, int fflag, */ if ((t->c_cflag & CIGNORE) == 0 && (tp->t_termios.c_cflag != t->c_cflag || + ((tp->t_termios.c_iflag ^ t->c_iflag) & + (IXON|IXOFF|IXANY)) || tp->t_termios.c_ispeed != t->c_ispeed || tp->t_termios.c_ospeed != t->c_ospeed)) { error = ttydevsw_param(tp, t);