[SCSI] sas_ata: ata_post_internal should abort the sas_task
authorDarrick J. Wong <djwong@us.ibm.com>
Tue, 30 Jan 2007 09:18:41 +0000 (01:18 -0800)
committerJames Bottomley <jejb@mulgrave.localdomain>
Wed, 18 Jul 2007 16:15:13 +0000 (11:15 -0500)
commit1c50dc83f9ca752b1e1b985f1ce33d2695103ffa
treefba4621565a87272d1232281b9457c297d53ea04
parent35a7f2f698d309cc50d98e56312dd907427b7ba4
[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>
drivers/scsi/libsas/sas_ata.c
include/linux/libata.h