ChangeSet 1.2000.12.16, 2004/10/22 15:53:58-07:00, [EMAIL PROTECTED]

[PATCH] USB ehci: minor pci tweaks

This has minor PCI tweaks for the EHCI driver:

  - If the (nonfunctional) AMD 8111 controller shows up, ignore it.
    (Patch from Matt Dharm, with minor coding style tweaks).

  - Delete some code that interprets an EHCI capability code; it
    should be a PCI capability instead.

Signed-off-by: David Brownell <[EMAIL PROTECTED]>
Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]>


 drivers/usb/host/ehci-hcd.c |   17 +++++++++++------
 1 files changed, 11 insertions(+), 6 deletions(-)


diff -Nru a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c
--- a/drivers/usb/host/ehci-hcd.c       2004-10-22 16:11:28 -07:00
+++ b/drivers/usb/host/ehci-hcd.c       2004-10-22 16:11:28 -07:00
@@ -347,9 +347,18 @@
 
 #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);
+
+               /* AMD8111 EHCI doesn't work, according to AMD errata */
+               if ((pdev->vendor == PCI_VENDOR_ID_AMD)
+                               && (pdev->device == 0x7463)) {
+                       ehci_info (ehci, "ignoring AMD8111 (errata)\n");
+                       return -EIO;
+               }
+
                temp = HCC_EXT_CAPS (readl (&ehci->caps->hcc_params));
-       else
+       } else
                temp = 0;
        while (temp && count--) {
                u32             cap;
@@ -361,10 +370,6 @@
                case 1:                 /* BIOS/SMM/... handoff */
                        if (bios_handoff (ehci, temp, cap) != 0)
                                return -EOPNOTSUPP;
-                       break;
-               case 0x0a:              /* appendix C */
-                       ehci_dbg (ehci, "debug registers, BAR %d offset %d\n",
-                               (cap >> 29) & 0x07, (cap >> 16) & 0x0fff);
                        break;
                case 0:                 /* illegal reserved capability */
                        ehci_warn (ehci, "illegal capability!\n");



-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to