]> Pileus Git - ~andy/linux/commit
[SCSI] libsas: kill invocation of scsi_eh_finish_cmd from sas_ata_task_done
authorDan Williams <dan.j.williams@intel.com>
Tue, 29 Nov 2011 01:11:33 +0000 (17:11 -0800)
committerJames Bottomley <JBottomley@Parallels.com>
Sun, 19 Feb 2012 19:57:01 +0000 (13:57 -0600)
commite500a34b0257def5b9ec07563afeeada1ead87bb
tree8f504dd4f97ca52f683ee058dfabfb5b859731d5
parentb91bb296188118eea9fdc6093cfcf76bbe8589ba
[SCSI] libsas: kill invocation of scsi_eh_finish_cmd from sas_ata_task_done

Prior to the conversion to the new-style libata-eh sas_ata_task_done()
may have been the last opportunity to clean up the scmd, but now
libata-eh explicitly handles this case.  It also races against sas-eh.
If a lldd completes a task after SAS_TASK_STATE_ABORTED is set it could
trigger a spurious decrement of shost->host_failed.  Current lldds have
the band-aid of checking SAS_TASK_STATE_ABORTED before calling
->task_done(), but better to just let the scmds escalate to libata for
race free cleanup.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/libsas/sas_ata.c