summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Gwynne <dlg@cvs.openbsd.org>2009-09-05 11:49:37 +0000
committerDavid Gwynne <dlg@cvs.openbsd.org>2009-09-05 11:49:37 +0000
commitab8cbc83cabe090a685fac3c92749e13d84bcb1d (patch)
tree64381acaeb4a54dc8a6342a06428b5b7683e9e29
parente139df6f859c3060dc7a94050de406be1ce25885 (diff)
scsi_done before COMPLETE.
-rw-r--r--sys/dev/isa/seagate.c5
-rw-r--r--sys/dev/isa/wds.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/sys/dev/isa/seagate.c b/sys/dev/isa/seagate.c
index 1a30f6f66b8..f6b124b87a9 100644
--- a/sys/dev/isa/seagate.c
+++ b/sys/dev/isa/seagate.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: seagate.c,v 1.28 2009/08/09 12:59:37 jsg Exp $ */
+/* $OpenBSD: seagate.c,v 1.29 2009/09/05 11:49:36 dlg Exp $ */
/*
* ST01/02, Future Domain TMC-885, TMC-950 SCSI driver
@@ -561,6 +561,9 @@ sea_scsi_cmd(struct scsi_xfer *xs)
*/
printf("%s: resetting\n", sea->sc_dev.dv_xname);
xs->error = XS_DRIVER_STUFFUP;
+ s = splbio();
+ scsi_done(xs);
+ splx(s);
return COMPLETE;
}
diff --git a/sys/dev/isa/wds.c b/sys/dev/isa/wds.c
index ea369619fc2..8f54af62d69 100644
--- a/sys/dev/isa/wds.c
+++ b/sys/dev/isa/wds.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: wds.c,v 1.29 2009/08/26 22:29:09 jasper Exp $ */
+/* $OpenBSD: wds.c,v 1.30 2009/09/05 11:49:36 dlg Exp $ */
/* $NetBSD: wds.c,v 1.13 1996/11/03 16:20:31 mycroft Exp $ */
#undef WDSDIAG
@@ -1060,6 +1060,9 @@ wds_scsi_cmd(xs)
/* XXX Fix me! */
printf("%s: reset!\n", sc->sc_dev.dv_xname);
wds_init(sc);
+ s = splbio();
+ scsi_done(xs);
+ splx(s);
return COMPLETE;
}