summaryrefslogtreecommitdiff
path: root/sys/dev/ic
diff options
context:
space:
mode:
authorDavid Gwynne <dlg@cvs.openbsd.org>2011-04-27 05:11:10 +0000
committerDavid Gwynne <dlg@cvs.openbsd.org>2011-04-27 05:11:10 +0000
commit252f3009774c855177f0d7e7548768d21e762266 (patch)
tree041728589ff541c5ce4460a37a440194eb40c285 /sys/dev/ic
parent76ee89b420ada585862a7228960e39cacabdb06e (diff)
return XS_RESET to the midlayer if the command was killed for some reason
rather than the default of XS_DRIVER_STUFFUP. mpath(4) likes this better when you unplug paths.
Diffstat (limited to 'sys/dev/ic')
-rw-r--r--sys/dev/ic/mpi.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/dev/ic/mpi.c b/sys/dev/ic/mpi.c
index ab3176174fd..99e2430f3cd 100644
--- a/sys/dev/ic/mpi.c
+++ b/sys/dev/ic/mpi.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mpi.c,v 1.168 2011/04/27 04:03:11 dlg Exp $ */
+/* $OpenBSD: mpi.c,v 1.169 2011/04/27 05:11:09 dlg Exp $ */
/*
* Copyright (c) 2005, 2006, 2009 David Gwynne <dlg@openbsd.org>
@@ -1449,6 +1449,11 @@ mpi_scsi_cmd_done(struct mpi_ccb *ccb)
xs->error = XS_SELTIMEOUT;
break;
+ case MPI_IOCSTATUS_SCSI_IOC_TERMINATED:
+ case MPI_IOCSTATUS_SCSI_EXT_TERMINATED:
+ xs->error = XS_RESET;
+ break;
+
default:
xs->error = XS_DRIVER_STUFFUP;
break;