2001-10-18 10:38:59

by Enver Haase

[permalink] [raw]
Subject: Bug in request_irq() ?


Hi developers,

I have some NetMos card here: 2 parallel ports, PCI.

This card is somewhat funny. I believe it fires interrupts for nothing: I
cannot boot Win98 when the Lexmark 4039 is turned on which is connected to
one of the ports (it crashes).

Back to Linux (2.4.12, "ECP symbol name patch"):

When I configure the card to share the IRQ line with the NE2000 PCI
clone, then the machine hangs as soon as the card is "ifconfig"ed.

When I configure the card to share the IRQ line with the onboard USB, then
the machine hangs as soon as the USB driver is initialized.

When I configure the card to be have an own un-shared interrupt line, and
let the NE2000clone and USB share a line, all works well.

Remember, there is no registered interrupt driver for PCI parallel port
cards. I suspect request_irq() has a problem when a device wants to
get an IRQ sharing it with a device that fires interrupts but has no own
driver.

A work-around could be disabling interrupts in the parallel port driver,
but that would mean it has to be initialized before all the other devices
sharing the IRQ --- which is prone to errors.


This is all based on more observation than code-reading so there might be
a better explanation: only I don't know it, yet.


Greetings,
Enver