summaryrefslogtreecommitdiffstats
path: root/sys/i386/isa/aic6360.c
diff options
context:
space:
mode:
authorgibbs <gibbs@FreeBSD.org>1997-09-21 21:41:49 +0000
committergibbs <gibbs@FreeBSD.org>1997-09-21 21:41:49 +0000
commite1b0aaaa7646122022e6179a0b6406809f2126b8 (patch)
tree453c2e0b2fbd7526c2bfa12a66b852f740856480 /sys/i386/isa/aic6360.c
parentdc043d9d0aa92d02293099dc6adcabe0e6c972cb (diff)
downloadFreeBSD-src-e1b0aaaa7646122022e6179a0b6406809f2126b8.zip
FreeBSD-src-e1b0aaaa7646122022e6179a0b6406809f2126b8.tar.gz
aha1542.c aic6360.c cy.c fd.c ft.c
if_ie.c if_wl.c if_zp.c isa.c isa_device.h labpc.c mcd.c ncr5380.c scd.c seagate.c si.c sio.c tw.c ultra14f.c wcd.c wd.c: Update for changes in the callout interface. apic_vector.s icu_vector.s ipl.s ipl_funcs.c: Add CAM software/hardware interrupt support.
Diffstat (limited to 'sys/i386/isa/aic6360.c')
-rw-r--r--sys/i386/isa/aic6360.c26
1 files changed, 17 insertions, 9 deletions
diff --git a/sys/i386/isa/aic6360.c b/sys/i386/isa/aic6360.c
index 4eec99a..d1b3e1f 100644
--- a/sys/i386/isa/aic6360.c
+++ b/sys/i386/isa/aic6360.c
@@ -31,7 +31,7 @@
*/
/*
- * $Id: aic6360.c,v 1.29 1997/03/24 11:23:38 bde Exp $
+ * $Id: aic6360.c,v 1.30 1997/07/20 14:09:50 bde Exp $
*
* Acknowledgements: Many of the algorithms used in this driver are
* inspired by the work of Julian Elischer (julian@tfs.com) and
@@ -933,13 +933,15 @@ aic_init(aic)
aic->state = AIC_CLEANING;
if (aic->nexus != NULL) {
aic->nexus->xs->error = XS_DRIVER_STUFFUP;
- untimeout(aic_timeout, (caddr_t)aic->nexus);
+ untimeout(aic_timeout, (caddr_t)aic->nexus,
+ aic->nexus->xs->timeout_ch);
aic_done(aic->nexus);
}
aic->nexus = NULL;
while (acb = aic->nexus_list.tqh_first) {
acb->xs->error = XS_DRIVER_STUFFUP;
- untimeout(aic_timeout, (caddr_t)acb);
+ untimeout(aic_timeout, (caddr_t)aic->nexus,
+ aic->nexus->xs->timeout_ch);
aic_done(acb);
}
}
@@ -1038,7 +1040,8 @@ aic_scsi_cmd(xs)
s = splbio();
TAILQ_INSERT_TAIL(&aic->ready_list, acb, chain);
- timeout(aic_timeout, (caddr_t)acb, (xs->timeout*hz)/1000);
+ xs->timeout_ch = timeout(aic_timeout, (caddr_t)acb,
+ (xs->timeout*hz)/1000);
if (aic->state == AIC_IDLE)
aic_sched(aic);
@@ -1462,7 +1465,8 @@ aic_msgin(aic)
}
acb->xs->resid = acb->dleft = aic->dleft;
aic->flags |= AIC_BUSFREE_OK;
- untimeout(aic_timeout, (caddr_t)acb);
+ untimeout(aic_timeout, (caddr_t)acb,
+ acb->xs->timeout_ch);
aic_done(acb);
break;
case MSG_MESSAGE_REJECT:
@@ -2122,7 +2126,8 @@ aicintr(int unit)
*/
printf("aic: unexpected busfree\n");
acb->xs->error = XS_DRIVER_STUFFUP;
- untimeout(aic_timeout, (caddr_t)acb);
+ untimeout(aic_timeout, (caddr_t)acb,
+ acb->xs->timeout_ch);
aic_done(acb);
}
LOGLINE(aic);
@@ -2144,7 +2149,8 @@ aicintr(int unit)
outb(CLRSINT1, CLRSELTIMO);
aic->state = AIC_IDLE;
acb->xs->error = XS_TIMEOUT;
- untimeout(aic_timeout, (caddr_t)acb);
+ untimeout(aic_timeout, (caddr_t)acb,
+ acb->xs->timeout_ch);
aic_done(acb);
LOGLINE(aic);
outb(DMACNTRL0, INTEN);
@@ -2226,7 +2232,8 @@ aicintr(int unit)
Debugger("aic6360");
fatal_if_no_DDB();
acb->xs->error = XS_DRIVER_STUFFUP;
- untimeout(aic_timeout, (caddr_t)acb);
+ untimeout(aic_timeout, (caddr_t)acb,
+ acb->xs->timeout_ch);
aic_done(acb);
aic_init(aic);
return;
@@ -2244,7 +2251,8 @@ aicintr(int unit)
Debugger("aic6360");
fatal_if_no_DDB();
acb->xs->error = XS_DRIVER_STUFFUP;
- untimeout(aic_timeout, (caddr_t)acb);
+ untimeout(aic_timeout, (caddr_t)acb,
+ acb->xs->timeout_ch);
aic_done(acb);
aic_init(aic);
return;
OpenPOWER on IntegriCloud