--- linux-2.6.22.14/arch/powerpc/kernel/pci_32.c 2008-01-22 13:59:14.000000000 +0200 +++ linux/arch/powerpc/kernel/pci_32.c 2008-01-15 10:59:50.000000000 +0200 @@ -1401,8 +1401,7 @@ char __init *pcibios_setup(char *str) } /* the next one is stolen from the alpha port... */ -void __init -pcibios_update_irq(struct pci_dev *dev, int irq) +void pcibios_update_irq(struct pci_dev *dev, int irq) { pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq); /* XXX FIXME - update OF device tree node interrupt property */ @@ -1459,6 +1458,7 @@ int pci_read_irq_line(struct pci_dev *pc DBG(" -> failed to map !\n"); return -1; } + pcibios_update_irq(pci_dev, virq); pci_dev->irq = virq; return 0;