On Fri, Oct 15, 2004 at 01:46:55PM -0700, David Brownell wrote:
> On Friday 15 October 2004 12:19 am, Matthew Dharm wrote:
> > On Thu, Oct 14, 2004 at 04:54:38PM -0700, David Brownell wrote:
> > > A quick look suggests the #ifdef CONFIG_PCI block in
> > > ehci_hc_reset() is the natural place to check for those IDs.
> > 
> > Hrm... would that have to be in the 'then' clause of the if(... ==
> > &pci_bus_type) in order to make sure we didn't try to do a
> > pci_read_config_dword() on a non-PCI device?
> 
> Exactly.  I understand there are some non-PCI EHCI versions
> lurking now, maybe not quite generally available yet.

How does this look?  It seems to work for me.

===== drivers/usb/host/ehci-hcd.c 1.136 vs edited =====
--- 1.136/drivers/usb/host/ehci-hcd.c   2004-09-30 10:39:33 -07:00
+++ edited/drivers/usb/host/ehci-hcd.c  2004-10-18 12:25:31 -07:00
@@ -347,9 +347,17 @@
 
 #ifdef CONFIG_PCI
        /* EHCI 0.96 and later may have "extended capabilities" */
-       if (hcd->self.controller->bus == &pci_bus_type)
+       if (hcd->self.controller->bus == &pci_bus_type) {
+               struct pci_dev* pdev = to_pci_dev(ehci->hcd.self.controller);
                temp = HCC_EXT_CAPS (readl (&ehci->caps->hcc_params));
-       else
+
+               /* AMD8111 EHCI doesn't work according to AMD errata */
+               if ((pdev->vendor == PCI_VENDOR_ID_AMD) &&
+                               (pdev->device = 0x7464)) {
+                       ehci_info (ehci, "rejecting AMD8111 for known bugs\n");
+                       return -EIO;
+               }
+       } else
                temp = 0;
        while (temp && count--) {
                u32             cap;

Matt

-- 
Matthew Dharm                              Home: [EMAIL PROTECTED] 
Maintainer, Linux USB Mass Storage Driver

G:  Let me guess, you started on the 'net with AOL, right?
C:  WOW! d00d! U r leet!
                                        -- Greg and Customer 
User Friendly, 2/12/1999

Attachment: pgpDK4TG10gu5.pgp
Description: PGP signature

Reply via email to