[PATCH 2.4] Fix incorrect Asus k7m irq router detection

From: Aleksey Gorelov
Date: Fri Jul 29 2005 - 17:23:49 EST


Hi Marcello,

Here is 2.4 version of a patch submitted earlier for 2.6 by Giancarlo
Formicuccia.

this patch:
http://marc.theaimsgroup.com/?l=bk-commits-head&m=111955644929114&w=2
uncovered a k7m bios bug, where the VT82C686A router is reported as
being "586-compatible". The two chips have different pirq mapping, so
this leads to "irq routing conflict" on many pci devices.

Patch for 2.4.32-pre2

Signed-off-by: Aleksey Gorelov <aleksey_gorelov@xxxxxxxxxxx>

--- linux-2.4.31-old/arch/i386/kernel/pci-irq.c 2005-07-29
14:44:12.000000000 -0700
+++ linux-2.4.31/arch/i386/kernel/pci-irq.c 2005-07-29
14:47:44.000000000 -0700
@@ -664,6 +664,13 @@
static __init int via_router_probe(struct irq_router *r, struct pci_dev
*router, u16 device)
{
/* FIXME: We should move some of the quirk fixup stuff here */
+
+ if (router->device == PCI_DEVICE_ID_VIA_82C686 &&
+ device == PCI_DEVICE_ID_VIA_82C586_0) {
+ /* Asus k7m bios wrongly reports 82C686A as
586-compatible */
+ device = PCI_DEVICE_ID_VIA_82C686;
+ }
+
switch(device)
{
case PCI_DEVICE_ID_VIA_82C586_0:
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/