VIA 82C686B SouthBridge fixup in linux/drivers/pci/quirks.c

From: Jeff S Wheeler (
Date: Fri Jun 29 2001 - 20:44:51 EST

Hi, I am not subscribed to the list. Please CC me on replies.

The VIA686B SouthBridge bug workaround is not activated on motherboards
which have a VIA 82C686B that needs fixing, but not a VIA NorthBridge. For
example, my Asus A7M266 has an AMD 761 NorthBridge, and the table at the end
of linux/drivers/pci/quirks.c thus does not attempt to apply the fix.
Someone suggested a fix against 2.4.4 in this thread, however it has not all
been fixed on 2.4.5 nor 2.4.5-ac22 (current, I believe).

Below is a patch to the __initdata table which causes the fix to be applied
based on detection of the buggy SouthBridge, and *not* the NorthBridge which
is commonly used with it. This is the correct behavior, and was suggested
by someone during the thread I reference, however this aspect of the fix was

Jeff S Wheeler 
Software Development        Five Elements, Inc

--- linux-2.4.5/drivers/pci/quirks.c.orig Fri Jun 29 20:24:09 2001 +++ linux-2.4.5/drivers/pci/quirks.c Fri Jun 29 20:58:14 2001 @@ -358,7 +358,7 @@ { PCI_FIXUP_FINAL, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82443BX_2, quirk_natoma }, { PCI_FIXUP_FINAL, PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_5597, quirk_nopcipci }, { PCI_FIXUP_FINAL, PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_496, quirk_nopcipci }, - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8363_0, quirk_vialatency }, + { PCI_FIXUP_FINAL, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686, quirk_vialatency }, { PCI_FIXUP_FINAL, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C597_0, quirk_viaetbf }, { PCI_FIXUP_HEADER, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C597_0, quirk_vt82c598_id }, { PCI_FIXUP_HEADER, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_3, quirk_vt82c586_acpi },

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to More majordomo info at Please read the FAQ at

This archive was generated by hypermail 2b29 : Sat Jun 30 2001 - 21:00:23 EST