aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Hartland <smh@FreeBSD.org>2013-07-01 17:57:22 +0000
committerSteven Hartland <smh@FreeBSD.org>2013-07-01 17:57:22 +0000
commit5dd4da9f24378534b7f083264edd20388aa7ac2a (patch)
tree09bdca501bef4f8825dc59aacd5c65da8e3294b0
parent7ee2959cb5ae049947d03dd8188b61f13715c35f (diff)
Notes
-rw-r--r--sys/dev/mfi/mfi.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/sys/dev/mfi/mfi.c b/sys/dev/mfi/mfi.c
index cf2d50536206..b20ddc553e13 100644
--- a/sys/dev/mfi/mfi.c
+++ b/sys/dev/mfi/mfi.c
@@ -3773,12 +3773,15 @@ mfi_timeout(void *data)
MFI_PRINT_CMD(cm);
MFI_VALIDATE_CMD(sc, cm);
/*
- * Fail the command instead of leaving it on
- * the queue where it could remain stuck forever
+ * While commands can get stuck forever we do
+ * not fail them as there is no way to tell if
+ * the controller has actually processed them
+ * or not.
+ *
+ * In addition its very likely that force
+ * failing a command here would cause a panic
+ * e.g. in UFS.
*/
- mfi_remove_busy(cm);
- cm->cm_error = ETIMEDOUT;
- mfi_complete(sc, cm);
timedout++;
}
}