[BUG] Ricoh Cardbus -> Can't get interrupts

Linus Torvalds torvalds at osdl.org
Mon Nov 24 19:25:01 GMT 2003

On Mon, 24 Nov 2003, Jean Tourrilhes wrote:

> 	Don't waste too much time on that, it might be hopeless. I
> personally don't believe that the kernel code will ever get it right,
> so I'm really looking at adding some override for this specific
> situation.

The kernel is actually very good at getting the PCI irq's right - if it
doesn't, _no_ PCI card will function right. This is definitely not a
"Cardbus is special" issue - the irq routing tables are used for every
single thing out there.

And in fact your tables seem to have the thing:

> Device 00:13.0 (slot 4): CardBus bridge
>   INTA: link 0x61, irq mask 0x5af8 [3,4,5,6,7,9,11,12,14]
>   INTB: link 0x62, irq mask 0x5af8 [3,4,5,6,7,9,11,12,14]
>   INTC: link 0x63, irq mask 0x5af8 [3,4,5,6,7,9,11,12,14]
>   INTD: link 0x60, irq mask 0x5af8 [3,4,5,6,7,9,11,12,14]

Can you enable DEBUG in "arch/i386/pci/pci.h"?

AHH.. I think I know what's up. Your PIRQ table is fine, but your MP table
probably doesn't translate the legacy IRQ into the APIC one.

You may be able to boot a UP kernel properly, but I'm sure that the MP
thing is solvable too. Send the whole dmesg out, with DEBUG enabled both
in pci.h and in "include/asm-i386/apic.h".


More information about the linux-pcmcia mailing list