Skip to contentSkip to conversation

ahci: skip protocol test altogether in spurious interrupt code

PATCH Applied Unicorn Chang 3 participants 3 messages Aug 1, 2006 – Aug 3, 2006

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

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.

---

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_po
 		return;
 
 	/* 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 "