It's the Rhine Tx engine that's been giving us headaches all along. There's
at least one bug in the Rx path, too, but it's masked by the Tx problems.
Try this, log again. This will show whether I'm suspecting the right bug.
@@ -1290,6 +1290,9 @@ static void via_rhine_interrupt(int irq,
while ((intr_status = readw(ioaddr + IntrStatus))) {
/* Acknowledge all of the current interrupt sources ASAP. */
writew(intr_status & 0xffff, ioaddr + IntrStatus);
+ if (readb(ioaddr+0x84) & 0x08)
+ printk(KERN_DEBUG "Gotcha: %#x %#x %#x\n", intr_status,
+ readb(ioaddr+0x84), readb(ioaddr+0x86));
if (debug > 4)
printk(KERN_DEBUG "%s: Interrupt, status %4.4x.\n",
Roger
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/