diff options
author | Darrick J. Wong <djwong@us.ibm.com> | 2007-01-26 14:08:52 -0800 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2007-01-27 10:06:51 -0600 |
commit | ad689233bee854dced741c91aff12a8771a22f6f (patch) | |
tree | ae1a786c97c779c16d5e10ac17efdb24c72aa5ae /include | |
parent | dca84e4694419adf61ad052b1e5a50ac82726597 (diff) | |
download | op-kernel-dev-ad689233bee854dced741c91aff12a8771a22f6f.zip op-kernel-dev-ad689233bee854dced741c91aff12a8771a22f6f.tar.gz |
[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')
-rw-r--r-- | include/scsi/libsas.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/scsi/libsas.h b/include/scsi/libsas.h index ca39392..b200233 100644 --- a/include/scsi/libsas.h +++ b/include/scsi/libsas.h @@ -660,5 +660,6 @@ void sas_init_dev(struct domain_device *); void sas_task_abort(struct sas_task *); int __sas_task_abort(struct sas_task *); +int sas_eh_device_reset_handler(struct scsi_cmnd *cmd); #endif /* _SASLIB_H_ */ |