Insight on CD-RW/ATAPI Bugs in 2.2.18/2.4.0

From: root (root@vger.timpanogas.org)
Date: Tue Oct 17 2000 - 08:05:28 EST


I,ve been burning CD's all week, and I've run across some things that may
shed some light on the CD burner bugs.

I have seen this bug on two different systems, one APIC based, the
other non-APIC based. In the case of the APIC based systems, the CD-RW
I/O errors only occur during high loading of Network I/O while a CD
in in the tray burning. Conincidently, the number of I/O timout errors
reported by the CD-RW device are exactly the same number of RX errors reported
for the 100Mbit Ethernet Adapter (eepro100). This would tend to
indicate that the Network Card, for whatever reason, serviced the
interrupt for the CD-RW. I've seen errors like this back in the
good old days of programming APIC/8259 code for NetWare where
devices sharing 8259 interrupt lines while other devices using
the IOAPIC were setup incorrectly, or where a driver would
mess up the mask bits in port 0x21 of the 8259, and/or EOI sequences
between drivers would get out of sync due to bugs.

On the non-APIC system, I get a single I/O error, then the system
hard hangs completely (as though the disk device is waiting for an
interrupt and it never occurs. On the 8259, missing an EOI can block all
other interrupts until it gets another EOI (since 8259 EOI's are non-specific
unlike the APIC). On the APIC, since it's message based over an ICC bus,
the local APIC will allow other interrupts to get through except the last one pending.

This really looks like:

A. Someone has a hole somewhere in the code where an EOI is getting missed or
they are EOIing twice which is causing stuff to get out of sync.

B. The IOAPIC is not configured properly.

C. Chained devices that share A,B,C, or D PCI interrupts are taking interrupts
for other devices.

THe hard hang on the AMD system really looks like a missed interrupt. I am
seeing RX errors for te Ethernet Card on the AMD system before it hard
hangs.

Jeff

 

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Oct 23 2000 - 21:00:11 EST