[PATCH] ahci: skip protocol test altogether in spurious interrupt code
authorUnicorn Chang <uchang@tw.ibm.com>
Tue, 1 Aug 2006 04:18:07 +0000 (12:18 +0800)
committerJeff Garzik <jeff@garzik.org>
Thu, 3 Aug 2006 21:34:52 +0000 (17:34 -0400)
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 <uchang@tw.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/scsi/ahci.c

index 77e7202a0eba30544389e6bd020fdae2cb7be3fe..904c25fb4ba4a26678bf81e9b8bc4315714bed5f 100644 (file)
@@ -940,14 +940,8 @@ static void ahci_host_intr(struct ata_port *ap)
                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 "