summaryrefslogtreecommitdiff
path: root/drivers/ata/libata-eh.c
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2007-10-25 13:22:44 +0400
committerJeff Garzik <jeff@garzik.org>2007-10-29 13:15:25 +0300
commit4dbfa39b6c95eb9d0aedb5bd00bb552b91c31e3d (patch)
treeb3b92aa44fe651af464373d8a21a3da8897fa479 /drivers/ata/libata-eh.c
parent2a397e82c7db18019e408f953dd58dc1963a328c (diff)
downloadlinux-4dbfa39b6c95eb9d0aedb5bd00bb552b91c31e3d.tar.xz
libata: relocate and fix post-command processing
Some commands need post-processing after successful completion. This was done in ata_scsi_qc_complete() till now but this has the following problems. * Post-command processing gets executed when qc is completed from EH. Some qc's are retried from EH with zero err_mask and thus triggers unnecessary/incorrect post-command processing. * Command post processing doesn't belong to SAT layer. * Link-wide revalidation was scheduled where device revalidation suffices. This patch moves post-command processing to success completion path of ata_qc_complete() which is travelled iff the command is going to be completed without passing through EH and updates post-command processing such that device-specific action is used. While at it, restructure code a bit for readability. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/ata/libata-eh.c')
0 files changed, 0 insertions, 0 deletions