From f65cb6fc5a364f0efba4fc9f0039c4ddb34ef4dd Mon Sep 17 00:00:00 2001 From: wlf Date: Tue, 25 Mar 2014 18:10:53 +0800 Subject: [PATCH] USB: Fix EHCI bug if connect with FS or LS device. --- drivers/usb/host/ehci-hub.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/usb/host/ehci-hub.c b/drivers/usb/host/ehci-hub.c index ca6289b4b7ad..d412e135c27d 100644 --- a/drivers/usb/host/ehci-hub.c +++ b/drivers/usb/host/ehci-hub.c @@ -285,6 +285,12 @@ static int ehci_bus_suspend (struct usb_hcd *hcd) t2 |= PORT_WKOC_E | PORT_WKCONN_E; } +#ifdef CONFIG_USB_EHCI_RK + /* RK3288 do not support OHCI controller, so clear PORT_OWNER + * here, otherwise EHCI can't be used anymore. wlf@20140325 */ + t2 &= ~PORT_OWNER; +#endif + if (t1 != t2) { ehci_vdbg (ehci, "port %d, %08x -> %08x\n", port + 1, t1, t2); @@ -1053,6 +1059,12 @@ static int ehci_hub_control ( ehci_dbg (ehci, "port %d low speed --> companion\n", wIndex + 1); +#ifdef CONFIG_USB_EHCI_RK + /* RK3288 do not support OHCI controller, so can't set PORT_OWNER + * here, otherwise EHCI can't be used anymore. wlf@20140325 */ + retval = -ENODEV; + break; +#endif temp |= PORT_OWNER; } else { ehci_vdbg (ehci, "port %d reset\n", wIndex + 1); -- 2.34.1