aboutsummaryrefslogtreecommitdiffstats
path: root/include/scsi
diff options
context:
space:
mode:
authorDarrick J. Wong <djwong@us.ibm.com>2007-01-11 17:15:20 -0500
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>2007-01-13 17:18:06 -0500
commit396819fba821ad56f1b90090d256f0ab726c89c5 (patch)
tree085d65ae13854d42fdf34fdb430aae76e696dbc4 /include/scsi
parent3ebf6922b0833807e54c73f4794c74baf9945fc8 (diff)
[SCSI] libsas: Delay issuing ABORT TASK TMF until the error handler
sas_task_abort() should simply abort the upper-level SCSI command and wait until the error handler to send the actual ABORT TASK command. By deferring things to the EH we simplify the concurrency coordination and eliminate some race conditions. Note that sas_task_abort has a few hooks to handle libsas internal commands properly too. Also rename do_sas_task_abort to __sas_task_abort just in case we really want to abort the task *right now* and we don't have a scsi_cmnd attached to the command. This is a hook for libata internal commands to abort. Signed-off-by: Darrick J. Wong <djwong@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'include/scsi')
-rw-r--r--include/scsi/libsas.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/scsi/libsas.h b/include/scsi/libsas.h
index 75df71f08ce1..c83426344e8f 100644
--- a/include/scsi/libsas.h
+++ b/include/scsi/libsas.h
@@ -650,6 +650,7 @@ void sas_unregister_dev(struct domain_device *);
650 650
651void sas_init_dev(struct domain_device *); 651void sas_init_dev(struct domain_device *);
652 652
653void sas_task_abort(struct work_struct *); 653void sas_task_abort(struct sas_task *);
654int __sas_task_abort(struct sas_task *);
654 655
655#endif /* _SASLIB_H_ */ 656#endif /* _SASLIB_H_ */