diff options
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 8c167250f4c9..45b9e37c191e 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) | |||
799 | if (ap->flags & SIL24_FLAG_PCIX_IRQ_WOC) | 799 | if (ap->flags & SIL24_FLAG_PCIX_IRQ_WOC) |
800 | writel(PORT_IRQ_COMPLETE, port + PORT_IRQ_STAT); | 800 | writel(PORT_IRQ_COMPLETE, port + PORT_IRQ_STAT); |
801 | 801 | ||
802 | /* | ||
803 | * !HOST_SSAT_ATTN guarantees successful completion, | ||
804 | * so reading back tf registers is unnecessary for | ||
805 | * most commands. TODO: read tf registers for | ||
806 | * commands which require these values on successful | ||
807 | * completion (EXECUTE DEVICE DIAGNOSTIC, CHECK POWER, | ||
808 | * DEVICE RESET and READ PORT MULTIPLIER (any more?). | ||
809 | */ | ||
810 | sil24_update_tf(ap); | ||
811 | |||
812 | if (qc) { | 802 | if (qc) { |
803 | if (qc->flags & ATA_QCFLAG_RESULT_TF) | ||
804 | sil24_update_tf(ap); | ||
813 | qc->err_mask |= ac_err_mask(pp->tf.command); | 805 | qc->err_mask |= ac_err_mask(pp->tf.command); |
814 | ata_qc_complete(qc); | 806 | ata_qc_complete(qc); |
815 | } | 807 | } |