summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJames Bottomley <jejb@raven.il.steeleye.com>2004-06-26 07:44:51 -0500
committerJames Bottomley <jejb@raven.il.steeleye.com>2004-06-26 07:44:51 -0500
commit0a45b2af39dcc7ccfd1e36f56914ae57627b8401 (patch)
tree26b40577fc6b6ce7e81166db10750a9c8088917c /include
parent1a44cb0b393c3bb07f7d130f3041f8a6f2b96ed5 (diff)
parentb44c1d52defae7c6c396830f693c3d27e6bd8d2b (diff)
Merge
Diffstat (limited to 'include')
-rw-r--r--include/scsi/scsi_host.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/include/scsi/scsi_host.h b/include/scsi/scsi_host.h
index 21af949cfa58..2d3265c1cdd2 100644
--- a/include/scsi/scsi_host.h
+++ b/include/scsi/scsi_host.h
@@ -30,6 +30,12 @@ struct scsi_transport_template;
#define DISABLE_CLUSTERING 0
#define ENABLE_CLUSTERING 1
+enum scsi_eh_timer_return {
+ EH_NOT_HANDLED,
+ EH_HANDLED,
+ EH_RESET_TIMER,
+};
+
struct scsi_host_template {
struct module *module;
@@ -126,6 +132,20 @@ struct scsi_host_template {
int (* eh_host_reset_handler)(struct scsi_cmnd *);
/*
+ * This is an optional routine to notify the host that the scsi
+ * timer just fired. The returns tell the timer routine what to
+ * do about this:
+ *
+ * EH_HANDLED: I fixed the error, please complete the command
+ * EH_RESET_TIMER: I need more time, reset the timer and
+ * begin counting again
+ * EH_NOT_HANDLED Begin normal error recovery
+ *
+ * Status: OPTIONAL
+ */
+ enum scsi_eh_timer_return (* eh_timed_out)(struct scsi_cmnd *);
+
+ /*
* Old EH handlers, no longer used. Make them warn the user of old
* drivers by using a wrong type
*