Messages in this thread | | | Date | Thu, 16 Sep 2010 20:41:33 +0200 | From | Thomas Richter <> | Subject | Re: parport_pc: irq= parameter with limited usefulness, kernel hang on PPC/OldWorldMac |
| |
Thanks Alan, hi Ben,
>> *) Under at least 2.6.31 and up, the kernel assigns IRQ 25 to the card. >> Under 2.6.28 and below, the card >> was run in polling mode (i.e. irq was -1, not 25). >> >> *) Furthermore, the above report suggests that the system wants to >> handle an edge-triggered IRQ, though >> according to /proc/interrupts, IRQ 25 is level-triggered. >> > > The parport_pc code just asks for the IRQ so any level/edge mismatch > would appear to be coming from the firmware or architecture code. The > older kernel didn't know to use the IRQ on PCI devices which stopped some > things working and hurt performance. That would also have masked the bug > you see - so the report makes total sense. >
I see, thanks.
>> *) parport_pc should take irq=none seriously and should not silently >> override it, >> > > parport_pc could do with a way to specify whether to use the IRQ or DMA > on PCI ports but really this shouldn't be needed if the rest of the > kernel logic is right. > > >> *) parport_pc should at least not crash the system completely in case >> the IRQ is enabled. >> >> The latter *might* be an issue with the G3 powermac hardware, which is >> of course weird and has a couple of hardware >> > > The latter looks like a bug in the PPC side support, perhaps misreporting > an IRQ, or mislabelling it in some way. I think the first step is to find > a PPC hacker who can figure out why the apparently sane IRQ request from > the parport layer is exploding. > > Even if there is some technical reason the IRQ can't be used then the arch > code shouldn't be reporting an IRQ for it, and the parport_pc could ought > to just work. > > Adding Ben to the Cc: so we it can get hunted down. Ben, anything I can do to find this bug? The current state is "workaround that works ok for me", but that's not very satisfying.
Greetings, Thomas
| |