diff options
author | Grzegorz Janoszka <Grzegorz@Janoszka.pl> | 2006-03-21 05:57:19 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-04-14 15:25:25 -0400 |
commit | 40d8b89b06cd03c2856eafb94a1f11d5a113a9d4 (patch) | |
tree | ff3106e292c7ea9d47f38ce74eb8664a447a80e5 /arch | |
parent | e6ad00576f8896b8209ba7ff47b23661614be64c (diff) |
[PATCH] arch/i386/pci/irq.c - new VIA chipsets (fwd)
I use 2.6.15.6 Linux kernel and found some problems. I have about 100
Linux boxes (all with the same (binary the same) kernel). Last time I have
upgraded all those boxes from 2.4.32 to 2.6.15.6 (first 2.6.15.1, next .2,
.4 and .6) and I have found some problems on VIA based PC's. Probably the
reason of this is that some VIA chipsets are unrecognized by IRQ router.
In line 586 there is: /* FIXME: add new ones for 8233/5 */
There were only a few of chipsets ID's there, some of my VIA chipsets were
not present and kernel used default IRQ router.
I have added three entries, so that the code looks like:
case PCI_DEVICE_ID_VIA_82C596:
case PCI_DEVICE_ID_VIA_82C686:
case PCI_DEVICE_ID_VIA_8231:
case PCI_DEVICE_ID_VIA_8233A:
case PCI_DEVICE_ID_VIA_8235:
case PCI_DEVICE_ID_VIA_8237:
case PCI_DEVICE_ID_VIA_8237_SATA:
/* FIXME: add new ones for 8233/5 */
r->name = "VIA";
r->get = pirq_via_get;
r->set = pirq_via_set;
return 1;
}
The kernel goes fine but I haven't testes it for weeks, I'm just a moment
after reboot :)
One thing is different (better?):
Using previus kernel I had:
PCI: Via IRQ fixup for 0000:00:0f.1, from 255 to 0
now I have:
PCI: Via IRQ fixup for 0000:00:0f.1, from 255 to 11
Maybe it is good idea to add there some more VIA chipsets?
The ones I have added seem to be OK.
From: Grzegorz Janoszka <Grzegorz@Janoszka.pl>
Acked-by: Martin Mares <mj@ucw.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/i386/pci/irq.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/i386/pci/irq.c b/arch/i386/pci/irq.c index 3ca59cad05f3..73235443fda7 100644 --- a/arch/i386/pci/irq.c +++ b/arch/i386/pci/irq.c | |||
@@ -588,7 +588,10 @@ static __init int via_router_probe(struct irq_router *r, | |||
588 | case PCI_DEVICE_ID_VIA_82C596: | 588 | case PCI_DEVICE_ID_VIA_82C596: |
589 | case PCI_DEVICE_ID_VIA_82C686: | 589 | case PCI_DEVICE_ID_VIA_82C686: |
590 | case PCI_DEVICE_ID_VIA_8231: | 590 | case PCI_DEVICE_ID_VIA_8231: |
591 | case PCI_DEVICE_ID_VIA_8233A: | ||
591 | case PCI_DEVICE_ID_VIA_8235: | 592 | case PCI_DEVICE_ID_VIA_8235: |
593 | case PCI_DEVICE_ID_VIA_8237: | ||
594 | case PCI_DEVICE_ID_VIA_8237_SATA: | ||
592 | /* FIXME: add new ones for 8233/5 */ | 595 | /* FIXME: add new ones for 8233/5 */ |
593 | r->name = "VIA"; | 596 | r->name = "VIA"; |
594 | r->get = pirq_via_get; | 597 | r->get = pirq_via_get; |