aboutsummaryrefslogtreecommitdiffstats
path: root/include/scsi/libsas.h
diff options
context:
space:
mode:
authorDarrick J. Wong <djwong@us.ibm.com>2006-10-30 18:18:39 -0500
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>2006-11-15 13:14:16 -0500
commitf456393e195e0aa16029985f63cd93b601a0d315 (patch)
treedc4b9d4c0705d5fe2d94669b1a75053f52755cb7 /include/scsi/libsas.h
parentb4d38e38e66f8e1b32a1b1c00e533175314c8d56 (diff)
[SCSI] libsas: modify error handler to use scsi_eh_* functions
This patch adds an EH done queue to sas_ha, converts the error handling strategy function and the sas_scsi_task_done functions in libsas to use the scsi_eh_* commands for error'd commands, and adds checks for the INITIATOR_ABORTED flag so that we do the right thing if a sas_task has been aborted by the initiator. Signed-off-by: Darrick J. Wong <djwong@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'include/scsi/libsas.h')
-rw-r--r--include/scsi/libsas.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/include/scsi/libsas.h b/include/scsi/libsas.h
index 9582e8401669..7bf2e8b9903c 100644
--- a/include/scsi/libsas.h
+++ b/include/scsi/libsas.h
@@ -338,6 +338,8 @@ struct sas_ha_struct {
338 void (*notify_phy_event)(struct asd_sas_phy *, enum phy_event); 338 void (*notify_phy_event)(struct asd_sas_phy *, enum phy_event);
339 339
340 void *lldd_ha; /* not touched by sas class code */ 340 void *lldd_ha; /* not touched by sas class code */
341
342 struct list_head eh_done_q;
341}; 343};
342 344
343#define SHOST_TO_SAS_HA(_shost) (*(struct sas_ha_struct **)(_shost)->hostdata) 345#define SHOST_TO_SAS_HA(_shost) (*(struct sas_ha_struct **)(_shost)->hostdata)
@@ -530,9 +532,10 @@ struct sas_task {
530 532
531 533
532 534
533#define SAS_TASK_STATE_PENDING 1 535#define SAS_TASK_STATE_PENDING 1
534#define SAS_TASK_STATE_DONE 2 536#define SAS_TASK_STATE_DONE 2
535#define SAS_TASK_STATE_ABORTED 4 537#define SAS_TASK_STATE_ABORTED 4
538#define SAS_TASK_INITIATOR_ABORTED 8
536 539
537static inline struct sas_task *sas_alloc_task(gfp_t flags) 540static inline struct sas_task *sas_alloc_task(gfp_t flags)
538{ 541{