From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Heiner Kallweit 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 --- 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 5991cf2a63a3..d38deb95fb36 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