David Brownell wrote: > > please correct me if i'm wrong i only don't want to blacklist complete > > chipset-series > > Then feel free to develop and submit a better fix. That'd > be more practical if AMD's workaround were public. As I > understand it, the bulk of the production chips have this > erratum. More power to RedHat getting info from AMD. > Meanwhile, this patch improves robustness. Comprimise? This patch make it a config option to enable the AMD-756. It's marked DANGEROUS and EXPERIMENTAL, and is only available if CONFIG_EXPERIMENTAL is set. This makes the default to blacklist the AMD-756 but it can be used if one wants to try. -Thomas
diff -u --new-file --recursive linux-2.4.3-ac2.orig/drivers/usb/Config.in linux-2.4.3-ac2/drivers/usb/Config.in --- linux-2.4.3-ac2.orig/drivers/usb/Config.in Wed Apr 4 15:23:13 2001 +++ linux-2.4.3-ac2/drivers/usb/Config.in Wed Apr 4 16:13:52 2001 @@ -24,6 +24,9 @@ dep_tristate ' UHCI Alternate Driver (JE) support' CONFIG_USB_UHCI_ALT $CONFIG_USB fi dep_tristate ' OHCI (Compaq, iMacs, OPTi, SiS, ALi, ...) support' CONFIG_USB_OHCI $CONFIG_USB + if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then + bool ' AMD-756 OHCI support (DANGEROUS)(EXPERIMENTAL)' CONFIG_AMD_OHCI_OK + fi comment 'USB Device Class drivers' dep_tristate ' USB Audio support' CONFIG_USB_AUDIO $CONFIG_USB $CONFIG_SOUND diff -u --new-file --recursive linux-2.4.3-ac2.orig/drivers/usb/usb-ohci.c linux-2.4.3-ac2/drivers/usb/usb-ohci.c --- linux-2.4.3-ac2.orig/drivers/usb/usb-ohci.c Wed Apr 4 15:23:15 2001 +++ linux-2.4.3-ac2/drivers/usb/usb-ohci.c Wed Apr 4 16:18:01 2001 @@ -2332,13 +2332,14 @@ unsigned long mem_resource, mem_len; void *mem_base; +#ifndef CONFIG_AMD_OHCI_OK /* blacklisted hardware? */ if (id->driver_data) { info ("%s (%s): %s", dev->slot_name, dev->name, (char *) id->driver_data); return -ENODEV; } - +#endif if (pci_enable_device(dev) < 0) return -ENODEV; @@ -2508,6 +2509,7 @@ * AMD-756 [Viper] USB has a serious erratum when used with * lowspeed devices like mice; oopses have been seen. The * vendor workaround needs an NDA ... for now, blacklist it. + * Use CONFIG_AMD_OHCI_OK to try anyway. */ vendor: 0x1022, device: 0x740c,