Re: [PATCH] Fix incorrect Asus k7m irq router detection

From: Dave Jones
Date: Wed Jul 27 2005 - 11:56:47 EST


On Wed, Jul 27, 2005 at 10:16:30AM +0200, Giancarlo Formicuccia wrote:

> 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.
>
> The suggested fix was discussed with Aleksey Gorelov, who helped me
> to identify the problem as a probable bios bug.
>
> Patch for 2.6.13-git4.
>
> Signed-off-by: Giancarlo Formicuccia <giancarlo.formicuccia@xxxxxxxxx>
>
> --- linux-2.6.13-rc3-git4/arch/i386/pci/irq.c.org 2005-07-27 08:58:05.000000000 +0200
> +++ linux-2.6.13-rc3-git4/arch/i386/pci/irq.c 2005-07-27 08:59:29.000000000 +0200
> @@ -550,6 +550,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:

If this really is a problem with that board, it should have a DMI entry
for that board alone, not for every VIA chipset that uses the 586/686 combo,
as I'm fairly certain there are some that legitimately use this combination,
and the patch above will force them all to be reported as 82C686's.

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