Re: [2.6.13-rc3-git4] VIA686A polymorphs into VIA586!

From: Giancarlo Formicuccia
Date: Tue Jul 26 2005 - 17:00:18 EST


Aleksey Gorelov wrote:
> >This patch brings my board back to the correct behaviour
> >[Aleksey Gorelov CC'd for review/comments/suggestions]:
> >
> >--- linux-2.6.13-git4/arch/i386/pci/irq.c.org 2005-07-23
> >11:15:12.000000000 +0200
> >+++ linux-2.6.13-git4/arch/i386/pci/irq.c 2005-07-23
> >11:55:50.000000000 +0200
> >@@ -553,10 +553,12 @@
> > switch(device)
> > {
> > case PCI_DEVICE_ID_VIA_82C586_0:
> >- r->name = "VIA";
> >- r->get = pirq_via586_get;
> >- r->set = pirq_via586_set;
> >- return 1;
> >+ if (router->device==PCI_DEVICE_ID_VIA_82C586_0) {
> >+ r->name = "VIA";
> >+ r->get = pirq_via586_get;
> >+ r->set = pirq_via586_set;
> >+ return 1;
> >+ }
> > case PCI_DEVICE_ID_VIA_82C596:
> > case PCI_DEVICE_ID_VIA_82C686:
> > case PCI_DEVICE_ID_VIA_8231:
>
> Probably, comments on buggy BIOS would be nice here..
>

Does this patch look good for you?
Who's the right developer to ask for inclusion? I'd like to see this problem addressed before 2.6.13...

Thanks,
Giancarlo


--- linux-2.6.13-git4/arch/i386/pci/irq.c.org 2005-07-23 11:15:12.000000000 +0200
+++ linux-2.6.13-git4/arch/i386/pci/irq.c 2005-07-26 20:53:11.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:
-
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/