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 1f989fb42c70..b09bdd8c3394 100644 --- a/include/scsi/libsas.h +++ b/include/scsi/libsas.h | |||
@@ -354,6 +354,8 @@ struct sas_ha_struct { | |||
354 | void (*notify_phy_event)(struct asd_sas_phy *, enum phy_event); | 354 | void (*notify_phy_event)(struct asd_sas_phy *, enum phy_event); |
355 | 355 | ||
356 | void *lldd_ha; /* not touched by sas class code */ | 356 | void *lldd_ha; /* not touched by sas class code */ |
357 | |||
358 | struct list_head eh_done_q; | ||
357 | }; | 359 | }; |
358 | 360 | ||
359 | #define SHOST_TO_SAS_HA(_shost) (*(struct sas_ha_struct **)(_shost)->hostdata) | 361 | #define SHOST_TO_SAS_HA(_shost) (*(struct sas_ha_struct **)(_shost)->hostdata) |
@@ -542,13 +544,16 @@ struct sas_task { | |||
542 | 544 | ||
543 | void *lldd_task; /* for use by LLDDs */ | 545 | void *lldd_task; /* for use by LLDDs */ |
544 | void *uldd_task; | 546 | void *uldd_task; |
547 | |||
548 | struct work_struct abort_work; | ||
545 | }; | 549 | }; |
546 | 550 | ||
547 | 551 | ||
548 | 552 | ||
549 | #define SAS_TASK_STATE_PENDING 1 | 553 | #define SAS_TASK_STATE_PENDING 1 |
550 | #define SAS_TASK_STATE_DONE 2 | 554 | #define SAS_TASK_STATE_DONE 2 |
551 | #define SAS_TASK_STATE_ABORTED 4 | 555 | #define SAS_TASK_STATE_ABORTED 4 |
556 | #define SAS_TASK_INITIATOR_ABORTED 8 | ||
552 | 557 | ||
553 | static inline struct sas_task *sas_alloc_task(gfp_t flags) | 558 | static inline struct sas_task *sas_alloc_task(gfp_t flags) |
554 | { | 559 | { |
@@ -608,6 +613,7 @@ struct sas_domain_function_template { | |||
608 | extern int sas_register_ha(struct sas_ha_struct *); | 613 | extern int sas_register_ha(struct sas_ha_struct *); |
609 | extern int sas_unregister_ha(struct sas_ha_struct *); | 614 | extern int sas_unregister_ha(struct sas_ha_struct *); |
610 | 615 | ||
616 | int sas_phy_reset(struct sas_phy *phy, int hard_reset); | ||
611 | extern int sas_queuecommand(struct scsi_cmnd *, | 617 | extern int sas_queuecommand(struct scsi_cmnd *, |
612 | void (*scsi_done)(struct scsi_cmnd *)); | 618 | void (*scsi_done)(struct scsi_cmnd *)); |
613 | extern int sas_target_alloc(struct scsi_target *); | 619 | extern int sas_target_alloc(struct scsi_target *); |
@@ -640,4 +646,6 @@ void sas_unregister_dev(struct domain_device *); | |||
640 | 646 | ||
641 | void sas_init_dev(struct domain_device *); | 647 | void sas_init_dev(struct domain_device *); |
642 | 648 | ||
649 | void sas_task_abort(struct sas_task *task); | ||
650 | |||
643 | #endif /* _SASLIB_H_ */ | 651 | #endif /* _SASLIB_H_ */ |