summaryrefslogtreecommitdiffstats
path: root/target/linux/lantiq/patches-3.8/0023-USB-fix-roothub-for-IFXHCD.patch
blob: 0a9dbe787770c9a7fc461d09971de9326d339b9a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
From e6c3c0d86a581e0738e18e5a3369ded8527a3315 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Thu, 6 Dec 2012 19:59:53 +0100
Subject: [PATCH 23/40] USB: fix roothub for IFXHCD

---
 arch/mips/lantiq/Kconfig |    1 +
 drivers/usb/core/hub.c   |    2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/mips/lantiq/Kconfig b/arch/mips/lantiq/Kconfig
index c002191..675310a 100644
--- a/arch/mips/lantiq/Kconfig
+++ b/arch/mips/lantiq/Kconfig
@@ -3,6 +3,7 @@ if LANTIQ
 config SOC_TYPE_XWAY
 	bool
 	select PINCTRL_XWAY
+	select USB_ARCH_HAS_HCD
 	default n
 
 choice
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
index cbf7168..5cddead 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -4006,7 +4006,7 @@ hub_port_init (struct usb_hub *hub, struct usb_device *udev, int port1,
 		udev->ttport = hdev->ttport;
 	} else if (udev->speed != USB_SPEED_HIGH
 			&& hdev->speed == USB_SPEED_HIGH) {
-		if (!hub->tt.hub) {
+		if (hdev->parent && !hub->tt.hub) {
 			dev_err(&udev->dev, "parent hub has no TT\n");
 			retval = -EINVAL;
 			goto fail;
-- 
1.7.10.4