aboutsummaryrefslogtreecommitdiffstats
path: root/include/scsi/libsas.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/scsi/libsas.h')
-rw-r--r--include/scsi/libsas.h14
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
553static inline struct sas_task *sas_alloc_task(gfp_t flags) 558static inline struct sas_task *sas_alloc_task(gfp_t flags)
554{ 559{
@@ -608,6 +613,7 @@ struct sas_domain_function_template {
608extern int sas_register_ha(struct sas_ha_struct *); 613extern int sas_register_ha(struct sas_ha_struct *);
609extern int sas_unregister_ha(struct sas_ha_struct *); 614extern int sas_unregister_ha(struct sas_ha_struct *);
610 615
616int sas_phy_reset(struct sas_phy *phy, int hard_reset);
611extern int sas_queuecommand(struct scsi_cmnd *, 617extern int sas_queuecommand(struct scsi_cmnd *,
612 void (*scsi_done)(struct scsi_cmnd *)); 618 void (*scsi_done)(struct scsi_cmnd *));
613extern int sas_target_alloc(struct scsi_target *); 619extern int sas_target_alloc(struct scsi_target *);
@@ -640,4 +646,6 @@ void sas_unregister_dev(struct domain_device *);
640 646
641void sas_init_dev(struct domain_device *); 647void sas_init_dev(struct domain_device *);
642 648
649void sas_task_abort(struct sas_task *task);
650
643#endif /* _SASLIB_H_ */ 651#endif /* _SASLIB_H_ */