diff options
| author | Marcel Moolenaar <marcel@FreeBSD.org> | 2003-09-11 23:06:42 +0000 |
|---|---|---|
| committer | Marcel Moolenaar <marcel@FreeBSD.org> | 2003-09-11 23:06:42 +0000 |
| commit | 8194412b8964d4bfb77866d3ac4ceadb27e80d7b (patch) | |
| tree | 0bacf5d5df77a2825660a1165c400033575725a0 /sys/dev/uart/uart_tty.c | |
| parent | 78f94aa95136605c7e67672b9416b97dea1e7723 (diff) | |
Notes
Diffstat (limited to 'sys/dev/uart/uart_tty.c')
| -rw-r--r-- | sys/dev/uart/uart_tty.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/sys/dev/uart/uart_tty.c b/sys/dev/uart/uart_tty.c index 3841889ddf22..2814e6d4ae48 100644 --- a/sys/dev/uart/uart_tty.c +++ b/sys/dev/uart/uart_tty.c @@ -476,6 +476,9 @@ uart_tty_close(dev_t dev, int flags, int mode, struct thread *td) if (sc->sc_sysdev == NULL) UART_SETSIG(sc, UART_SIG_DDTR | UART_SIG_DRTS); + /* Disable pulse capturing. */ + sc->sc_pps.ppsparam.mode = 0; + (*linesw[tp->t_line].l_close)(tp, flags); ttyclose(tp); wakeup(sc); @@ -505,6 +508,7 @@ uart_tty_ioctl(dev_t dev, u_long cmd, caddr_t data, int flags, if (error != ENOIOCTL) return (error); + error = 0; switch (cmd) { case TIOCSBRK: UART_IOCTL(sc, UART_IOCTL_BREAK, 1); @@ -563,7 +567,10 @@ uart_tty_ioctl(dev_t dev, u_long cmd, caddr_t data, int flags, *(int*)data = bits; break; default: - return (ENOTTY); + error = pps_ioctl(cmd, data, &sc->sc_pps); + if (error == ENODEV) + error = ENOTTY; + break; } - return (0); + return (error); } |
