diff options
| author | Stephen Hurd <shurd@FreeBSD.org> | 2019-06-12 18:07:04 +0000 |
|---|---|---|
| committer | Stephen Hurd <shurd@FreeBSD.org> | 2019-06-12 18:07:04 +0000 |
| commit | 705aad98c64572aefe9bdb8f1fd854f976c1b03d (patch) | |
| tree | a16bee1d7069dfb81f667ff7dcbee04f821f542c /sys/dev/uart | |
| parent | 0026d8ccb7296de6f66d3f2d2813b1a5f77b4035 (diff) | |
Notes
Diffstat (limited to 'sys/dev/uart')
| -rw-r--r-- | sys/dev/uart/uart_tty.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/dev/uart/uart_tty.c b/sys/dev/uart/uart_tty.c index 1bef6384678e..ad7052289f0b 100644 --- a/sys/dev/uart/uart_tty.c +++ b/sys/dev/uart/uart_tty.c @@ -285,13 +285,16 @@ uart_tty_param(struct tty *tp, struct termios *t) parity = UART_PARITY_NONE; if (UART_PARAM(sc, t->c_ospeed, databits, stopbits, parity) != 0) return (EINVAL); - UART_SETSIG(sc, SER_DDTR | SER_DTR); + if ((t->c_cflag & CNO_RTSDTR) == 0) + UART_SETSIG(sc, SER_DDTR | SER_DTR); /* Set input flow control state. */ if (!sc->sc_hwiflow) { if ((t->c_cflag & CRTS_IFLOW) && sc->sc_isquelch) UART_SETSIG(sc, SER_DRTS); - else - UART_SETSIG(sc, SER_DRTS | SER_RTS); + else { + if ((t->c_cflag & CNO_RTSDTR) == 0) + UART_SETSIG(sc, SER_DRTS | SER_RTS); + } } else UART_IOCTL(sc, UART_IOCTL_IFLOW, (t->c_cflag & CRTS_IFLOW)); /* Set output flow control state. */ |
