ahci: skip protocol test altogether in spurious interrupt code
PATCH 1/1 ahci: skip protocol test altogether in spurious interrupt code
Skip protocol test altogether in spurious interrupt code. If PIOS is received when it shouldn't, ahci will raise protocol violation.
Signed-off-by Unicorn Chang <[email protected]>
---
Patch for kernel bug 6826 - GoVault spurious interrupts
(http://bugzilla.kernel.org/show_bug.cgi?id=6826)
drivers/scsi/ahci.c renamed from drivers/scsi/ahci.c.orig +2 -8
@@ -940,14 +940,8 @@ static void ahci_host_intr(struct ata_poreturn ;/* ignore interim PIO setup fis interrupts */ -if (ata_tag_valid (ap->active_tag)) { -struct ata_queued_cmd *qc = -ata_qc_from_tag (ap, ap->active_tag); - -if (qc && qc->tf.protocol ==ATA_PROT_PIO && - (status &PORT_IRQ_PIOS_FIS )) -return ; - } +if (ata_tag_valid (ap->active_tag) && (status &PORT_IRQ_PIOS_FIS )) +return ;if (ata_ratelimit ()) ata_port_printk(ap, KERN_INFO, "spurious interrupt "
Quoted 4 lines · Unicorn Chang
Skip protocol test altogether in spurious interrupt code. If PIOS is received when it shouldn't, ahci will raise protocol violation.
Signed-off-by Unicorn Chang <[email protected]>
Acked-by Tejun Heo <[email protected]>
Signature · 1 line
tejun
Jeff Garzik
Appliedapplied