diff options
Diffstat (limited to 'include/scsi/libsas.h')
-rw-r--r-- | include/scsi/libsas.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/include/scsi/libsas.h b/include/scsi/libsas.h index 1d77b63c5ea4..44b2f82a6eec 100644 --- a/include/scsi/libsas.h +++ b/include/scsi/libsas.h | |||
@@ -339,6 +339,8 @@ struct sas_ha_struct { | |||
339 | void (*notify_phy_event)(struct asd_sas_phy *, enum phy_event); | 339 | void (*notify_phy_event)(struct asd_sas_phy *, enum phy_event); |
340 | 340 | ||
341 | void *lldd_ha; /* not touched by sas class code */ | 341 | void *lldd_ha; /* not touched by sas class code */ |
342 | |||
343 | struct list_head eh_done_q; | ||
342 | }; | 344 | }; |
343 | 345 | ||
344 | #define SHOST_TO_SAS_HA(_shost) (*(struct sas_ha_struct **)(_shost)->hostdata) | 346 | #define SHOST_TO_SAS_HA(_shost) (*(struct sas_ha_struct **)(_shost)->hostdata) |
@@ -527,13 +529,16 @@ struct sas_task { | |||
527 | 529 | ||
528 | void *lldd_task; /* for use by LLDDs */ | 530 | void *lldd_task; /* for use by LLDDs */ |
529 | void *uldd_task; | 531 | void *uldd_task; |
532 | |||
533 | struct work_struct abort_work; | ||
530 | }; | 534 | }; |
531 | 535 | ||
532 | 536 | ||
533 | 537 | ||
534 | #define SAS_TASK_STATE_PENDING 1 | 538 | #define SAS_TASK_STATE_PENDING 1 |
535 | #define SAS_TASK_STATE_DONE 2 | 539 | #define SAS_TASK_STATE_DONE 2 |
536 | #define SAS_TASK_STATE_ABORTED 4 | 540 | #define SAS_TASK_STATE_ABORTED 4 |
541 | #define SAS_TASK_INITIATOR_ABORTED 8 | ||
537 | 542 | ||
538 | static inline struct sas_task *sas_alloc_task(gfp_t flags) | 543 | static inline struct sas_task *sas_alloc_task(gfp_t flags) |
539 | { | 544 | { |
@@ -593,6 +598,7 @@ struct sas_domain_function_template { | |||
593 | extern int sas_register_ha(struct sas_ha_struct *); | 598 | extern int sas_register_ha(struct sas_ha_struct *); |
594 | extern int sas_unregister_ha(struct sas_ha_struct *); | 599 | extern int sas_unregister_ha(struct sas_ha_struct *); |
595 | 600 | ||
601 | int sas_phy_reset(struct sas_phy *phy, int hard_reset); | ||
596 | extern int sas_queuecommand(struct scsi_cmnd *, | 602 | extern int sas_queuecommand(struct scsi_cmnd *, |
597 | void (*scsi_done)(struct scsi_cmnd *)); | 603 | void (*scsi_done)(struct scsi_cmnd *)); |
598 | extern int sas_target_alloc(struct scsi_target *); | 604 | extern int sas_target_alloc(struct scsi_target *); |
@@ -625,4 +631,6 @@ void sas_unregister_dev(struct domain_device *); | |||
625 | 631 | ||
626 | void sas_init_dev(struct domain_device *); | 632 | void sas_init_dev(struct domain_device *); |
627 | 633 | ||
634 | void sas_task_abort(struct sas_task *task); | ||
635 | |||
628 | #endif /* _SASLIB_H_ */ | 636 | #endif /* _SASLIB_H_ */ |