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
overlooked.
http://mailman.real-time.com/pipermail/linux-kernel/Week-of-Mon-20010430/032
013.html
--- Jeff S Wheeler jsw@five-elements.com 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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/