summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Gwynne <dlg@cvs.openbsd.org>2009-03-29 01:05:57 +0000
committerDavid Gwynne <dlg@cvs.openbsd.org>2009-03-29 01:05:57 +0000
commit1d0b516be4ca5b356aaaa3cfafb9735c7f3a559f (patch)
tree8622db1038729366f8a0cd63c5f5edfa9057f103
parent39de1898b28cee31d6f85151bef7c97ed717c251 (diff)
when we steal the SYNC CACHE command in mfi_scsi_cmd we still have to
mark the xs as done and call scsi_done for it rather than just returning COMPLETE.
-rw-r--r--sys/dev/ic/mfi.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/ic/mfi.c b/sys/dev/ic/mfi.c
index 43e75445df2..d3f39211ba1 100644
--- a/sys/dev/ic/mfi.c
+++ b/sys/dev/ic/mfi.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mfi.c,v 1.90 2009/03/29 01:02:35 dlg Exp $ */
+/* $OpenBSD: mfi.c,v 1.91 2009/03/29 01:05:56 dlg Exp $ */
/*
* Copyright (c) 2006 Marco Peereboom <marco@peereboom.us>
*
@@ -1035,7 +1035,7 @@ mfi_scsi_cmd(struct scsi_xfer *xs)
0, NULL, mbox))
goto stuffup;
- return (COMPLETE);
+ goto complete;
/* NOTREACHED */
/* hand it of to the firmware and let it deal with it */
@@ -1085,6 +1085,7 @@ mfi_scsi_cmd(struct scsi_xfer *xs)
stuffup:
xs->error = XS_DRIVER_STUFFUP;
+complete:
xs->flags |= ITSDONE;
s = splbio();
scsi_done(xs);