summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/dev/isa/aha.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/sys/dev/isa/aha.c b/sys/dev/isa/aha.c
index d089147b532..bfd252bce3d 100644
--- a/sys/dev/isa/aha.c
+++ b/sys/dev/isa/aha.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: aha.c,v 1.36 2000/11/13 13:43:01 niklas Exp $ */
+/* $OpenBSD: aha.c,v 1.37 2001/01/29 06:40:14 mickey Exp $ */
/* $NetBSD: aha.c,v 1.11 1996/05/12 23:51:23 mycroft Exp $ */
#undef AHADIAG
@@ -59,6 +59,7 @@
#include <sys/buf.h>
#include <sys/proc.h>
#include <sys/user.h>
+#include <sys/timeout.h>
#include <machine/intr.h>
#include <machine/pio.h>
@@ -486,7 +487,7 @@ AGAIN:
goto next;
}
- untimeout(aha_timeout, ccb);
+ timeout_del(&ccb->xs->stimeout);
isadma_copyfrombuf((caddr_t)ccb, CCB_PHYS_SIZE,
1, ccb->ccb_phys);
aha_done(sc, ccb);
@@ -783,8 +784,10 @@ aha_start_ccbs(sc)
/* Tell the card to poll immediately. */
outb(iobase + AHA_CMD_PORT, AHA_START_SCSI);
- if ((ccb->xs->flags & SCSI_POLL) == 0)
- timeout(aha_timeout, ccb, (ccb->timeout * hz) / 1000);
+ if ((ccb->xs->flags & SCSI_POLL) == 0) {
+ timeout_set(&ccb->xs->stimeout, aha_timeout, ccb);
+ timeout_add(&ccb->xs->stimeout, (ccb->timeout * hz) / 1000);
+ }
++sc->sc_mbofull;
aha_nextmbx(wmbo, wmbx, mbo);