patch: irq problem on some Alphas

Thorsten Kranzkowski (th@Marvin.DL8BCU.ampr.org)
Tue, 16 Nov 1999 01:16:28 +0000


--SUOF0GtieIMvvwua
Content-Type: text/plain; charset=us-ascii

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] |

--SUOF0GtieIMvvwua Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="sys_sio.patch"

--- /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)

--SUOF0GtieIMvvwua--

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