summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/atapiscsi/atapiscsi.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/dev/atapiscsi/atapiscsi.c b/sys/dev/atapiscsi/atapiscsi.c
index 4eb6aec0e29..a03735f79a3 100644
--- a/sys/dev/atapiscsi/atapiscsi.c
+++ b/sys/dev/atapiscsi/atapiscsi.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: atapiscsi.c,v 1.69 2004/01/14 02:00:41 krw Exp $ */
+/* $OpenBSD: atapiscsi.c,v 1.70 2004/02/07 19:59:43 grange Exp $ */
/*
* This code is derived from code with the copyright below.
@@ -635,6 +635,8 @@ wdc_atapi_the_machine(chp, xfer, ctxt)
int timeout_delay = hz / 10;
if (xfer->c_flags & C_POLL) {
+ wdc_disable_intr(chp);
+
if (ctxt != ctxt_process) {
if (ctxt == ctxt_interrupt)
xfer->endticks = 1;
@@ -1552,7 +1554,9 @@ wdc_atapi_done(chp, xfer, timeout, ret)
sc_xfer->flags |= ITSDONE;
- if (!(xfer->c_flags & C_POLL)) {
+ if (xfer->c_flags & C_POLL) {
+ wdc_enable_intr(chp);
+ } else {
WDCDEBUG_PRINT(("wdc_atapi_done: scsi_done\n"), DEBUG_XFERS);
scsi_done(sc_xfer);
}