summaryrefslogtreecommitdiffstats
path: root/include/scsi/libsas.h
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2006-12-06 16:01:18 +0100
committerDavid Howells <dhowells@warthog.cambridge.redhat.com>2006-12-06 16:01:18 +0100
commit4796b71fbb907ce6b8a9acf1852d3646a80b4576 (patch)
tree6263f165446c581efdbb760205c1f85378fe6259 /include/scsi/libsas.h
parentWorkQueue: Fix up arch-specific work items where possible (diff)
parentMerge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 (diff)
downloadlinux-4796b71fbb907ce6b8a9acf1852d3646a80b4576.tar.xz
linux-4796b71fbb907ce6b8a9acf1852d3646a80b4576.zip
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Conflicts: drivers/pcmcia/ds.c Fix up merge failures with Linus's head and fix new compile failures. Signed-Off-By: David Howells <dhowells@redhat.com>
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 {
void (*notify_phy_event)(struct asd_sas_phy *, enum phy_event);
void *lldd_ha; /* not touched by sas class code */
+
+ struct list_head eh_done_q;
};
#define SHOST_TO_SAS_HA(_shost) (*(struct sas_ha_struct **)(_shost)->hostdata)
@@ -542,13 +544,16 @@ struct sas_task {
void *lldd_task; /* for use by LLDDs */
void *uldd_task;
+
+ struct work_struct abort_work;
};
-#define SAS_TASK_STATE_PENDING 1
-#define SAS_TASK_STATE_DONE 2
-#define SAS_TASK_STATE_ABORTED 4
+#define SAS_TASK_STATE_PENDING 1
+#define SAS_TASK_STATE_DONE 2
+#define SAS_TASK_STATE_ABORTED 4
+#define SAS_TASK_INITIATOR_ABORTED 8
static inline struct sas_task *sas_alloc_task(gfp_t flags)
{
@@ -608,6 +613,7 @@ struct sas_domain_function_template {
extern int sas_register_ha(struct sas_ha_struct *);
extern int sas_unregister_ha(struct sas_ha_struct *);
+int sas_phy_reset(struct sas_phy *phy, int hard_reset);
extern int sas_queuecommand(struct scsi_cmnd *,
void (*scsi_done)(struct scsi_cmnd *));
extern int sas_target_alloc(struct scsi_target *);
@@ -640,4 +646,6 @@ void sas_unregister_dev(struct domain_device *);
void sas_init_dev(struct domain_device *);
+void sas_task_abort(struct sas_task *task);
+
#endif /* _SASLIB_H_ */