diff options
author | phk <phk@FreeBSD.org> | 2012-02-26 20:56:49 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2012-02-26 20:56:49 +0000 |
commit | c1bac816f55e7ef0fe1646e34c5a71c76c66723f (patch) | |
tree | 69dd540ebfe1547b82631a0f09c93c4b461a9069 /sys/kern/tty.c | |
parent | 351ef4815894190ed7c1145f74148593a01bc52d (diff) | |
download | FreeBSD-src-c1bac816f55e7ef0fe1646e34c5a71c76c66723f.zip FreeBSD-src-c1bac816f55e7ef0fe1646e34c5a71c76c66723f.tar.gz |
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.
Diffstat (limited to 'sys/kern/tty.c')
-rw-r--r-- | sys/kern/tty.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/kern/tty.c b/sys/kern/tty.c index 9a701d7..8ca6bdf 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); |