Need help with PCI-E interrupts

From: Larry Finger
Date: Thu Jan 11 2007 - 14:57:11 EST


I'm looking for help with PCI-E interrupts. The problem occurs with the following device:

01:00.0 Network controller: Broadcom Corporation Dell Wireless 1390 WLAN Mini-PCI Card (rev 01)
Subsystem: Hewlett-Packard Company Unknown device 1363
Flags: bus master, fast devsel, latency 0, IRQ 20
Memory at c3000000 (32-bit, non-prefetchable) [size=16K]
Capabilities: [40] Power Management version 2
Capabilities: [58] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable-
Capabilities: [d0] Express Legacy Endpoint IRQ 0
Capabilities: [100] Advanced Error Reporting
Capabilities: [13c] Virtual Channel

The card is recognized as of the PCI-E variety and appears to be set up properly, but interrupts are
not delivered to the driver as shown by the output of 'cat /proc/interrupts':

CPU0 CPU1
0: 4752 1884273 IO-APIC-edge timer
1: 21 6306 IO-APIC-edge i8042
8: 0 2 IO-APIC-edge rtc
9: 249 158866 IO-APIC-fasteoi acpi
12: 3670 846095 IO-APIC-edge i8042
15: 337 65615 IO-APIC-edge ide1
16: 1427 329891 IO-APIC-fasteoi libata
17: 2315 925273 IO-APIC-fasteoi eth0
18: 0 2 IO-APIC-fasteoi ohci1394
19: 3 117 IO-APIC-fasteoi HDA Intel
20: 0 0 IO-APIC-fasteoi ohci_hcd:usb1, bcm43xx
21: 0 0 IO-APIC-fasteoi ehci_hcd:usb2
NMI: 0 0
LOC: 1825978 1826429
ERR: 1
MIS: 0

I'm currently have an i386 system, but the problem is there with an x86_64 system. I've tried the
following boot-time fixups: acpi=noirq, irqfixup, irqpoll, pci=routeirq and a UP system without any
effect. It did work a couple of times with the x86_64 system, which made me think it was some kind
of race condition. I have also compared the bcm43xx code with that of the bcm43xx-d80211 version
that works, but I don't find any differences other than those related to design changes. I'm
currently working with 2.6.20-rc4, but get the same results with 2.6.18 and 2.6.19, which need a
PCI-E patch to recognize the card.

I would appreciate any suggestions regarding differences between PCI and PCI-E interrupts.

Thanks,

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