Messages in this thread Patch in this message | | | Date | Tue, 16 Nov 1999 01:16:28 +0000 | From | Thorsten Kranzkowski <> | Subject | patch: irq problem on some Alphas |
| |
Hello!
This patch fixes a problem where PCI interrupts weren't delivered. It affects those Alpha Systems that route the PCI interrupts through the SIO ISA bridge.
The routing is programmed with sio_pci_route(). The problem is that sio_pci_route() uses a pcibios compatibility funtion which in turn scans the pci_devices list to map a devfn to a *dev. pci_devices isn't populated at that time. (common_init_pci() does that). So the routing isn't programmed to the new value. And by luck the scsi controller kept working because old and new interrupt values were the same.....
Comments ?
Bye, Thorsten
-- | Thorsten Kranzkowski Snail: Niemannsweg 30, 49201 Dissen, Germany | | Mobile: ++49 161 7210230 Inet: dl8bcu@gmx.net | | Ampr: dl8bcu@db0nei.#nrw.deu.eu, dl8bcu@marvin.dl8bcu.ampr.org [44.130.8.19] | --- /usr/src/linux/arch/alpha/kernel/sys_sio.c Sun Oct 31 10:53:08 1999 +++ linux/arch/alpha/kernel/sys_sio.c Mon Nov 15 22:33:53 1999 @@ -238,8 +238,8 @@ static inline void __init noname_init_pci(void) { - sio_pci_route(); common_init_pci(); + sio_pci_route(); sio_fixup_irq_levels(sio_collect_irq_levels()); ns87312_enable_ide(0x26e); } @@ -250,8 +250,8 @@ struct pci_dev *dev; unsigned char orig, config; - sio_pci_route(); common_init_pci(); + sio_pci_route(); /* * On the AlphaBook1, the PCMCIA chip (Cirrus 6729) | |