diff options
author | Tejun Heo <htejun@gmail.com> | 2006-05-15 20:57:42 +0900 |
---|---|---|
committer | Tejun Heo <htejun@gmail.com> | 2006-05-15 20:57:42 +0900 |
commit | ce5f7f3d0cab82d6c16fcb64def8bfc0a3a85dd6 (patch) | |
tree | 35a8af3090fef05001f931fee0c5e374433f5458 /drivers | |
parent | e61e067227bc76b4d9411a50d735c9d87f27b0e2 (diff) |
[PATCH] sata_sil24: update TF image only when necessary
Update TF image (pp->tf) only when necessary.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/scsi/sata_sil24.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/drivers/scsi/sata_sil24.c b/drivers/scsi/sata_sil24.c index 8c167250f4c..45b9e37c191 100644 --- a/drivers/scsi/sata_sil24.c +++ b/drivers/scsi/sata_sil24.c @@ -799,17 +799,9 @@ static inline void sil24_host_intr(struct ata_port *ap) if (ap->flags & SIL24_FLAG_PCIX_IRQ_WOC) writel(PORT_IRQ_COMPLETE, port + PORT_IRQ_STAT); - /* - * !HOST_SSAT_ATTN guarantees successful completion, - * so reading back tf registers is unnecessary for - * most commands. TODO: read tf registers for - * commands which require these values on successful - * completion (EXECUTE DEVICE DIAGNOSTIC, CHECK POWER, - * DEVICE RESET and READ PORT MULTIPLIER (any more?). - */ - sil24_update_tf(ap); - if (qc) { + if (qc->flags & ATA_QCFLAG_RESULT_TF) + sil24_update_tf(ap); qc->err_mask |= ac_err_mask(pp->tf.command); ata_qc_complete(qc); } |