54 lines
2.0 KiB
Diff
54 lines
2.0 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Heiner Kallweit <hkallweit1@gmail.com>
|
|
Date: Wed, 23 Feb 2022 02:21:19 +0000
|
|
Subject: usb: core: improve handling of hubs with no ports
|
|
|
|
I get the "hub doesn't have any ports" error message on a system with
|
|
Amlogic S905W SoC. Seems the SoC has internal USB 3.0 supports but
|
|
is crippled with regard to USB 3.0 ports.
|
|
Maybe we shouldn't consider this scenario an error. So let's change
|
|
the message to info level, but otherwise keep the handling of the
|
|
scenario as it is today. With the patch it looks like this on my
|
|
system.
|
|
|
|
dwc2 c9100000.usb: supply vusb_d not found, using dummy regulator
|
|
dwc2 c9100000.usb: supply vusb_a not found, using dummy regulator
|
|
dwc2 c9100000.usb: EPs: 7, dedicated fifos, 712 entries in SPRAM
|
|
xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
|
|
xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1
|
|
xhci-hcd xhci-hcd.0.auto: hcc params 0x0228f664 hci version 0x100 quirks 0x0000000002010010
|
|
xhci-hcd xhci-hcd.0.auto: irq 49, io mem 0xc9000000
|
|
hub 1-0:1.0: USB hub found
|
|
hub 1-0:1.0: 2 ports detected
|
|
xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
|
|
xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2
|
|
xhci-hcd xhci-hcd.0.auto: Host supports USB 3.0 SuperSpeed
|
|
usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
|
|
hub 2-0:1.0: USB hub found
|
|
hub 2-0:1.0: hub has no ports, exiting
|
|
|
|
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
|
|
---
|
|
drivers/usb/core/hub.c | 5 ++---
|
|
1 file changed, 2 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
|
|
index d56ad5ccac81..1234da0761cf 100644
|
|
--- a/drivers/usb/core/hub.c
|
|
+++ b/drivers/usb/core/hub.c
|
|
@@ -1427,9 +1427,8 @@ static int hub_configure(struct usb_hub *hub,
|
|
ret = -ENODEV;
|
|
goto fail;
|
|
} else if (hub->descriptor->bNbrPorts == 0) {
|
|
- message = "hub doesn't have any ports!";
|
|
- ret = -ENODEV;
|
|
- goto fail;
|
|
+ dev_info(hub_dev, "hub has no ports, exiting\n");
|
|
+ return -ENODEV;
|
|
}
|
|
|
|
/*
|
|
--
|
|
Armbian
|
|
|