aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/ahci.c
diff options
context:
space:
mode:
authorUnicorn Chang <uchang@tw.ibm.com>2006-08-01 12:18:07 +0800
committerJeff Garzik <jeff@garzik.org>2006-08-03 17:34:52 -0400
commitf1d39b291e2263f5e2f2ec5d4061802f76d8ae67 (patch)
tree29c33d63b3679103459932d43b8818abdcc7d3d5 /drivers/scsi/ahci.c
parentIB/uverbs: Avoid a crash on device hot remove (diff)
downloadlinux-dev-f1d39b291e2263f5e2f2ec5d4061802f76d8ae67.tar.xz
linux-dev-f1d39b291e2263f5e2f2ec5d4061802f76d8ae67.zip
[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>
Diffstat (limited to 'drivers/scsi/ahci.c')
-rw-r--r--drivers/scsi/ahci.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/drivers/scsi/ahci.c b/drivers/scsi/ahci.c
index 77e7202a0eba..904c25fb4ba4 100644
--- a/drivers/scsi/ahci.c
+++ b/drivers/scsi/ahci.c
@@ -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 "