summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorMichael Shalayeff <mickey@cvs.openbsd.org>2001-01-29 07:04:11 +0000
committerMichael Shalayeff <mickey@cvs.openbsd.org>2001-01-29 07:04:11 +0000
commit487804de4518ceeef0cfa35f0b0318db46d64f23 (patch)
tree838e0bda43ad00b2970d401b01f9923d4709201b /sys
parent80fb9f7ac29e0088e7062d7fcd917d29bb3a1e9c (diff)
new timeouts
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/isa/wds.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/sys/dev/isa/wds.c b/sys/dev/isa/wds.c
index e70f910f5f1..0efed9cec7b 100644
--- a/sys/dev/isa/wds.c
+++ b/sys/dev/isa/wds.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: wds.c,v 1.16 1999/02/13 00:59:28 fgsch Exp $ */
+/* $OpenBSD: wds.c,v 1.17 2001/01/29 07:04:10 mickey Exp $ */
/* $NetBSD: wds.c,v 1.13 1996/11/03 16:20:31 mycroft Exp $ */
#undef WDSDIAG
@@ -377,7 +377,7 @@ AGAIN:
}
#endif /* WDSDEBUG */
- untimeout(wds_timeout, scb);
+ timeout_del(&scb->xs->stimeout);
#ifdef notyet
isadma_copyfrombuf((caddr_t)scb, SCB_PHYS_SIZE,
1, scb->scb_phys);
@@ -736,8 +736,10 @@ wds_start_scbs(sc)
c = WDSC_MSTART(wmbo - wmbx->mbo);
wds_cmd(sc, &c, sizeof c);
- if ((scb->flags & SCB_POLLED) == 0)
- timeout(wds_timeout, scb, (scb->timeout * hz) / 1000);
+ if ((scb->flags & SCB_POLLED) == 0) {
+ timeout_set(&scb->xs->stimeout, wds_timeout, scb);
+ timeout_add(&scb->xs->stimeout, (scb->timeout * hz) / 1000);
+ }
++sc->sc_mbofull;
wds_nextmbx(wmbo, wmbx, mbo);
@@ -860,7 +862,7 @@ wds_find(ia, sc)
/*
* Sending a command causes the CMDRDY bit to clear.
- */
+ */
c = bus_space_read_1(iot, ioh, WDS_STAT);
for (i = 0; i < 4; i++)
if ((bus_space_read_1(iot, ioh, WDS_STAT) & WDSS_RDY) != 0) {
@@ -1097,7 +1099,7 @@ wds_scsi_cmd(xs)
/* NOTE: cmd.write may be OK as 0x40 (disable direction checking)
* on boards other than the WD-7000V-ASE. Need this for the ASE:
- */
+ */
scb->cmd.write = (xs->flags & SCSI_DATA_IN) ? 0x80 : 0x00;
if (!NEEDBUFFER(sc) && xs->datalen) {