summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/ic/ami.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/sys/dev/ic/ami.c b/sys/dev/ic/ami.c
index f420d384f26..c745bf1e5bb 100644
--- a/sys/dev/ic/ami.c
+++ b/sys/dev/ic/ami.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ami.c,v 1.34 2005/04/17 17:37:38 mickey Exp $ */
+/* $OpenBSD: ami.c,v 1.35 2005/04/27 21:54:47 marco Exp $ */
/*
* Copyright (c) 2001 Michael Shalayeff
@@ -673,16 +673,6 @@ ami_quartz_done(sc, mbox)
sc->sc_mbox->acc_status = 0xff;
- /* ack interrupt */
- ami_write_inbound_db(sc, AMI_QIDB_ACK);
-
- i = 0;
- while(ami_read_inbound_db(sc) & AMI_QIDB_ACK) {
- delay(1);
- if (i++ > 1000000)
- return (0); /* nothing to do */
- }
-
/* copy mailbox to temporary one and fixup other changed values */
bus_dmamap_sync(sc->dmat, sc->sc_cmdmap, 0, 16,
BUS_DMASYNC_POSTWRITE);
@@ -693,6 +683,9 @@ ami_quartz_done(sc, mbox)
mbox->acc_cmplidl[n] = completed[n];
}
+ /* ack interrupt */
+ ami_write_inbound_db(sc, AMI_QIDB_ACK);
+
return (1); /* ready to complete all IOs in acc_cmplidl */
}