]> git.karo-electronics.de Git - linux-beck.git/commitdiff
[PATCH] sata_sil24: update TF image only when necessary
authorTejun Heo <htejun@gmail.com>
Mon, 15 May 2006 11:57:42 +0000 (20:57 +0900)
committerTejun Heo <htejun@gmail.com>
Mon, 15 May 2006 11:57:42 +0000 (20:57 +0900)
Update TF image (pp->tf) only when necessary.

Signed-off-by: Tejun Heo <htejun@gmail.com>
drivers/scsi/sata_sil24.c

index 8c167250f4c9e82ad9cefcc4099c4c14dd4339a7..45b9e37c191e7d346b2ae8bb417e6eded1257455 100644 (file)
@@ -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);
                }