lkml.org 
[lkml]   [1999]   [Nov]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subjectpatch: 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)
\
 
 \ /
  Last update: 2005-03-22 13:55    [W:0.024 / U:0.316 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site