--- libata-core.c.orig 2005-02-23 17:41:03.831836464 -0800 +++ libata-core.c 2005-02-23 17:54:51.287044152 -0800 @@ -3158,6 +3158,11 @@ if (qc && (!(qc->tf.ctl & ATA_NIEN))) { handled |= ata_host_intr(ap, qc); } + else { + /* bk - just ack spurious interrupt here - temp workaround */ + ata_irq_ack(ap, 0); + printk(KERN_WARNING "ata%d: irq trap\n", ap->id); + } } }