This looks suspiciously like your slot #1 gets the PCI interrupt routing
wrong.
Note especially the kernel reports:
Linux Kernel Card Services 3.1.22
options: [pci] [cardbus] [pm]
PCI: Assigned IRQ 9 for device 00:0a.0
PCI: Assigned IRQ 10 for device 00:0a.1
IRQ routing conflict for 00:07.5, have irq 5, want irq 10
IRQ routing conflict for 00:07.6, have irq 5, want irq 10
PCI: Sharing IRQ 10 with 00:10.0
it really looks like your slot 1 controller (00:0a.1) really wants irq5,
based on the fact that other devices are reported to have irq5.
However, if they _really_ have irq5 already routed, I'm surprised that
the PCI irq router "r->get()" function didn't pick up on that fact, and
that the "set" function apparently didn't work correctly.
So I'd guess that when you insert a card in slot #1, you get a constant
stream of interrupts on irq5, which is not where the kernel is expecting
them, so your machine locks up.
Can you do the following:
- run dump_pirq on your machine (attached)
- run "lspci -vvxxx" as root
send me and Jeff the output. Jeff also suggested enabling debugging in
yenta.c and that might be useful too.
Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/