[PATCH] 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 <uchang@tw.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
parent
fd60ae404f
commit
f1d39b291e
|
@ -940,14 +940,8 @@ static void ahci_host_intr(struct ata_port *ap)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* ignore interim PIO setup fis interrupts */
|
/* ignore interim PIO setup fis interrupts */
|
||||||
if (ata_tag_valid(ap->active_tag)) {
|
if (ata_tag_valid(ap->active_tag) && (status & PORT_IRQ_PIOS_FIS))
|
||||||
struct ata_queued_cmd *qc =
|
return;
|
||||||
ata_qc_from_tag(ap, ap->active_tag);
|
|
||||||
|
|
||||||
if (qc && qc->tf.protocol == ATA_PROT_PIO &&
|
|
||||||
(status & PORT_IRQ_PIOS_FIS))
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ata_ratelimit())
|
if (ata_ratelimit())
|
||||||
ata_port_printk(ap, KERN_INFO, "spurious interrupt "
|
ata_port_printk(ap, KERN_INFO, "spurious interrupt "
|
||||||
|
|
Loading…
Reference in New Issue