hanging adding device with shared interrupt

Stephen Williams (steve@icarus.icarus.com)
Tue, 03 Mar 1998 21:16:47 -0800


I'm having trouble with a device driver for a PCI device. The driver
supports shared interrupts (or should) although that is not the normal
case, because it is a PCI device. However, when I have a large number
of such boards installed, the BIOS (award bios) seems to give up and
assigns shared IRQs for say two of the three boards.

This should be fine, but when I request_irq for the shared irq (yes, I pass
the SA_SHIRQ flag) the computer completely hangs. No keyboard, no mouse,
ne error message, no nothin'.

I don't know why this request_irq would be a problem, so maybe it is just
very very close to it, but there it hangs. Any ideas would be greatly
appreciated.

The specifics:

Cyrix 6x86 166 processor
Intel triton motherboard chipset
Linux 2.0.32 w/ bigphysarea-2.0.32 and cyrix patches,
IDE drives,
and a WD network card.

The PCI bus is as follows. This is before I load the module for the
0x12c5:0x83 devices, so it is not hung yet.) Note that irq 5 is shared.
I can't imagine why this would be a problem, but that seems to be where
it is hanging.

PCI devices found:
Bus 0, device 20, function 0:
VGA compatible controller: S3 Inc. Trio32/Trio64 (rev 0).
Medium devsel. IRQ 11.
Non-prefetchable 32 bit memory at 0xe0000000.
Bus 0, device 18, function 0:
Multimedia controller: Unknown vendor Unknown device (rev 0).
Vendor id=12c5. Device id=83.
Fast devsel. IRQ 5. Master Capable. Latency=64.
Non-prefetchable 32 bit memory at 0xe0803000.
Non-prefetchable 32 bit memory at 0xe0804000.
Bus 0, device 16, function 0:
Multimedia controller: Unknown vendor Unknown device (rev 0).
Vendor id=12c5. Device id=83.
Fast devsel. IRQ 5. Master Capable. Latency=64.
Non-prefetchable 32 bit memory at 0xe0801000.
Non-prefetchable 32 bit memory at 0xe0802000.
Bus 0, device 14, function 0:
Multimedia controller: Unknown vendor Unknown device (rev 0).
Vendor id=12c5. Device id=83.
Fast devsel. IRQ 9. Master Capable. Latency=64.
Non-prefetchable 32 bit memory at 0xe0805000.
Non-prefetchable 32 bit memory at 0xe0800000.
Bus 0, device 7, function 3:
Bridge: Intel 82371AB PIIX4 Power Management (rev 1).
Medium devsel. Fast back-to-back capable.
Bus 0, device 7, function 2:
USB Controller: Intel 82371AB PIIX4 (rev 1).
Medium devsel. Fast back-to-back capable. IRQ 11. Master Capable. Late
ncy=64.
I/O at 0x6400.
Bus 0, device 7, function 1:
IDE interface: Intel 82371AB 430TX PIIX4 (rev 1).
Medium devsel. Fast back-to-back capable. Master Capable. Latency=64.
I/O at 0xf000.
Bus 0, device 7, function 0:
ISA bridge: Intel 82371AB PIIX4 (rev 1).
Medium devsel. Fast back-to-back capable. Master Capable. No bursts.
Bus 0, device 0, function 0:
Host bridge: Intel 82439TX (rev 1).
Medium devsel. Master Capable. Latency=64.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu