aboutsummaryrefslogtreecommitdiffstats
path: root/include/scsi
diff options
context:
space:
mode:
authorDarrick J. Wong <djwong@us.ibm.com>2007-01-26 17:08:52 -0500
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>2007-01-27 11:06:51 -0500
commitad689233bee854dced741c91aff12a8771a22f6f (patch)
treeae1a786c97c779c16d5e10ac17efdb24c72aa5ae /include/scsi
parentdca84e4694419adf61ad052b1e5a50ac82726597 (diff)
[SCSI] libsas: Handle SCSI commands that complete with failure codes
This patch moves the code that handles SAS failures out of the main EH function and into a separate function. It also detects commands that have no sas_task (i.e. they completed, but with error data) and sends them into scsi_error for processing. This allows us to handle SCSI errors (and enables auto-spinup as a side effect) instead of dropping them on the floor and falling into an infinite loop. It also requires the implementation of a device reset function, which the SAS failure code has been modified to employ for REQ_DEVICE_RESET. Signed-off-by: Darrick J. Wong <djwong@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'include/scsi')
-rw-r--r--include/scsi/libsas.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/scsi/libsas.h b/include/scsi/libsas.h
index ca393929c10b..b200233cc6f4 100644
--- a/include/scsi/libsas.h
+++ b/include/scsi/libsas.h
@@ -660,5 +660,6 @@ void sas_init_dev(struct domain_device *);
660 660
661void sas_task_abort(struct sas_task *); 661void sas_task_abort(struct sas_task *);
662int __sas_task_abort(struct sas_task *); 662int __sas_task_abort(struct sas_task *);
663int sas_eh_device_reset_handler(struct scsi_cmnd *cmd);
663 664
664#endif /* _SASLIB_H_ */ 665#endif /* _SASLIB_H_ */