projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
6fdbad8
)
USB: ehci: disable LPM and PPCD for nVidia MCP89 chips
author
Brian J. Tarricone
<
[email protected]
>
Mon, 22 Nov 2010 05:15:52 +0000
(21:15 -0800)
committer
Greg Kroah-Hartman
<
[email protected]
>
Tue, 30 Nov 2010 18:27:36 +0000
(10:27 -0800)
Tested on MacBookAir3,1. Without this, we get EPROTO errors when
fetching device config descriptors.
Signed-off-by: Brian Tarricone <
[email protected]
>
Reported-by: Benoit Gschwind <
[email protected]
>
Tested-by: Edgar Hucek <
[email protected]
>
Cc: stable <
[email protected]
>
Signed-off-by: Greg Kroah-Hartman <
[email protected]
>
drivers/usb/host/ehci-pci.c
patch
|
blob
|
history
diff --git
a/drivers/usb/host/ehci-pci.c
b/drivers/usb/host/ehci-pci.c
index 01bb72b7183230182fac79fd307b17323e79cfb3..655f3c9f88bfbb6740e0ac5cc377b45c1af8adae 100644
(file)
--- a/
drivers/usb/host/ehci-pci.c
+++ b/
drivers/usb/host/ehci-pci.c
@@
-161,6
+161,18
@@
static int ehci_pci_setup(struct usb_hcd *hcd)
if (pdev->revision < 0xa4)
ehci->no_selective_suspend = 1;
break;
+
+ /* MCP89 chips on the MacBookAir3,1 give EPROTO when
+ * fetching device descriptors unless LPM is disabled.
+ * There are also intermittent problems enumerating
+ * devices with PPCD enabled.
+ */
+ case 0x0d9d:
+ ehci_info(ehci, "disable lpm/ppcd for nvidia mcp89");
+ ehci->has_lpm = 0;
+ ehci->has_ppcd = 0;
+ ehci->command &= ~CMD_PPCEE;
+ break;
}
break;
case PCI_VENDOR_ID_VIA: