diff options
author | Darrick J. Wong <djwong@us.ibm.com> | 2007-01-30 04:18:41 -0500 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.localdomain> | 2007-07-18 12:15:13 -0400 |
commit | 1c50dc83f9ca752b1e1b985f1ce33d2695103ffa (patch) | |
tree | fba4621565a87272d1232281b9457c297d53ea04 /include/linux | |
parent | 35a7f2f698d309cc50d98e56312dd907427b7ba4 (diff) |
[SCSI] sas_ata: ata_post_internal should abort the sas_task
This patch adds a new field, lldd_task, to ata_queued_cmd so that libata
users such as libsas can associate some data with a qc. The particular
ambition with this patch is to associate a sas_task with a qc; that way,
if libata decides to timeout a command, we can come back (in
sas_ata_post_internal) and abort the sas task.
One question remains: Is it necessary to reset the phy on error, or will
the libata error handler take care of it? (Assuming that one is written,
of course.) This patch, as it is today, works well enough to clean
things up when an ATA device probe attempt fails halfway through the probe,
though I'm not sure this is always the right thing to do.
Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/libata.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h index 47cd2a1c5544..4abb758a0450 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
@@ -411,6 +411,7 @@ struct ata_queued_cmd { | |||
411 | ata_qc_cb_t complete_fn; | 411 | ata_qc_cb_t complete_fn; |
412 | 412 | ||
413 | void *private_data; | 413 | void *private_data; |
414 | void *lldd_task; | ||
414 | }; | 415 | }; |
415 | 416 | ||
416 | struct ata_port_stats { | 417 | struct ata_port_stats { |