summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenneth R Westerback <krw@cvs.openbsd.org>2007-11-06 01:05:36 +0000
committerKenneth R Westerback <krw@cvs.openbsd.org>2007-11-06 01:05:36 +0000
commitafa192bae9ff2b3a8a5bf48110b86f17ee9dcd21 (patch)
tree45297d615c92e58265afb240ac18d3fa7b6e43f5
parentb5d5b3e009465305e2b7e00f97938b29fdcbe655 (diff)
More scsi_done() at SPLBIO.
-rw-r--r--sys/dev/atapiscsi/atapiscsi.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/atapiscsi/atapiscsi.c b/sys/dev/atapiscsi/atapiscsi.c
index 6fd9f9631d5..6f561d7e346 100644
--- a/sys/dev/atapiscsi/atapiscsi.c
+++ b/sys/dev/atapiscsi/atapiscsi.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: atapiscsi.c,v 1.78 2007/08/06 08:28:09 tom Exp $ */
+/* $OpenBSD: atapiscsi.c,v 1.79 2007/11/06 01:05:35 krw Exp $ */
/*
* This code is derived from code with the copyright below.
@@ -1559,6 +1559,7 @@ wdc_atapi_done(chp, xfer, timeout, ret)
struct atapi_return_args *ret;
{
struct scsi_xfer *sc_xfer = xfer->cmd;
+ int s;
WDCDEBUG_PRINT(("wdc_atapi_done %s:%d:%d: flags 0x%x error 0x%x\n",
chp->wdc->sc_dev.dv_xname, chp->channel, xfer->drive,
@@ -1571,7 +1572,9 @@ wdc_atapi_done(chp, xfer, timeout, ret)
wdc_enable_intr(chp);
} else {
WDCDEBUG_PRINT(("wdc_atapi_done: scsi_done\n"), DEBUG_XFERS);
+ s = splbio();
scsi_done(sc_xfer);
+ splx(s);
}
xfer->next = NULL;