summaryrefslogtreecommitdiffstats
path: root/sys/dev/digi/digi.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/digi/digi.c')
-rw-r--r--sys/dev/digi/digi.c21
1 files changed, 4 insertions, 17 deletions
diff --git a/sys/dev/digi/digi.c b/sys/dev/digi/digi.c
index 8b56691..68081d5 100644
--- a/sys/dev/digi/digi.c
+++ b/sys/dev/digi/digi.c
@@ -603,7 +603,6 @@ digi_init(struct digi_softc *sc)
fepcmd_w(port, SRXHWATER, (3 * port->rxbufsize) >> 2, 10);
bc->edelay = 100;
- port->dtr_wait = 3 * hz;
/*
* We don't use all the flags from <sys/ttydefaults.h> since
@@ -738,7 +737,7 @@ digiopen(struct cdev *dev, int flag, int mode, struct thread *td)
open_top:
while (port->status & DIGI_DTR_OFF) {
port->wopeners++;
- error = tsleep(&port->dtr_wait, TTIPRI | PCATCH, "digidtr", 0);
+ error = tsleep(&tp->t_dtr_wait, TTIPRI | PCATCH, "digidtr", 0);
port->wopeners--;
if (error)
goto out;
@@ -906,7 +905,7 @@ digidtrwakeup(void *chan)
struct digi_p *port = chan;
port->status &= ~DIGI_DTR_OFF;
- wakeup(&port->dtr_wait);
+ wakeup(&port->tp->t_dtr_wait);
port->wopeners--;
}
@@ -929,10 +928,10 @@ digihardclose(struct digi_p *port)
!(port->it_in.c_cflag & CLOCAL)) ||
!(port->tp->t_state & TS_ISOPEN)) {
digimodem(port->tp, 0, SER_DTR | SER_RTS);
- if (port->dtr_wait != 0) {
+ if (port->tp->t_dtr_wait != 0) {
/* Schedule a wakeup of any callin devices */
port->wopeners++;
- timeout(&digidtrwakeup, port, port->dtr_wait);
+ timeout(&digidtrwakeup, port, port->tp->t_dtr_wait);
port->status |= DIGI_DTR_OFF;
}
}
@@ -1282,18 +1281,6 @@ digiioctl(struct cdev *dev, u_long cmd, caddr_t data, int flag, struct thread *t
case DIGIIO_RING:
port->send_ring = *(u_char *)data;
break;
- case TIOCMSDTRWAIT:
- error = suser(td);
- if (error != 0) {
- splx(s);
- return (error);
- }
- port->dtr_wait = *(int *)data *hz / 100;
-
- break;
- case TIOCMGDTRWAIT:
- *(int *)data = port->dtr_wait * 100 / hz;
- break;
#ifdef DIGI_INTERRUPT
case TIOCTIMESTAMP:
*(struct timeval *)data = sc->intr_timestamp;
OpenPOWER on IntegriCloud