From: Michal Pecio <michal.pecio@gmail.com>
To: Arisa Snowbell <arisa.snowbell@gmail.com>
Cc: linux-usb@vger.kernel.org, regressions@lists.linux.dev,
Niklas Neronin <niklas.neronin@linux.intel.com>,
Mathias Nyman <mathias.nyman@linux.intel.com>
Subject: Re: [REGRESSION] [REPRO] USB-A devices not working on boot after recent USB merge
Date: Thu, 9 Oct 2025 13:14:44 +0200 [thread overview]
Message-ID: <20251009131444.2c221922.michal.pecio@gmail.com> (raw)
In-Reply-To: <CABpa4MBDvgJcgJf3_E7k1dBXs7v1tW-79dmc_sQDVM1bES5YDQ@mail.gmail.com>
On Thu, 9 Oct 2025 00:25:55 +0200, Arisa Snowbell wrote:
> This is what I get when I use good kernel:
>
> kernel: xhci_hcd 0000:7a:00.0: xHCI Host Controller
> kernel: xhci_hcd 0000:7a:00.0: new USB bus registered, assigned bus number 9
> kernel: xhci_hcd 0000:7a:00.0: USB3 root hub has no ports
> kernel: xhci_hcd 0000:7a:00.0: hcc params 0x0110ffc5 hci version 0x120
> quirks 0x0000000200000010
> kernel: xhci_hcd 0000:7a:00.0: xHCI Host Controller
> kernel: xhci_hcd 0000:7a:00.0: new USB bus registered, assigned bus number 10
> kernel: xhci_hcd 0000:7a:00.0: Host supports USB 3.0 SuperSpeed
> kernel: usb usb9: New USB device found, idVendor=1d6b, idProduct=0002,
> bcdDevice= 6.17
> kernel: usb usb9: New USB device strings: Mfr=3, Product=2, SerialNumber=1
> kernel: usb usb9: Product: xHCI Host Controller
> kernel: usb usb9: Manufacturer: Linux
> 6.17.0-1-mainline-12298-gf5bd2142c274 xhci-hcd
> kernel: usb usb9: SerialNumber: 0000:7a:00.0
> kernel: hub 9-0:1.0: USB hub found
> kernel: hub 9-0:1.0: 1 port detected
> kernel: usb usb10: We don't know the algorithms for LPM for this host,
> disabling LPM.
> kernel: usb usb10: New USB device found, idVendor=1d6b,
> idProduct=0003, bcdDevice= 6.17
> kernel: usb usb10: New USB device strings: Mfr=3, Product=2, SerialNumber=1
> kernel: usb usb10: Product: xHCI Host Controller
> kernel: usb usb10: Manufacturer: Linux
> 6.17.0-1-mainline-12298-gf5bd2142c274 xhci-hcd
> kernel: usb usb10: SerialNumber: 0000:7a:00.0
> kernel: hub 10-0:1.0: USB hub found
> kernel: hub 10-0:1.0: config failed, hub doesn't have any ports! (err -19)
>
> where the 2.0 USB's work, mice is powered on, with the bad kernel the
> mice doesn't even power the LED's on.
> In the bad kernel its missing the New USB and all.
Okay, thanks. I now see what's going on.
I have successfully reproduced it on a normal controller by patching
the driver to simply ignore any USB3 ports. With this patch, no root
hubs are registered at all until I revert the "bad" commit.
In my case it's an idiotic little problem:
xhci_pci_common_probe()
{
usb_hcd_pci_probe() {
// allocate xhci
xhci_run(xhci);
}
xhci->allow_single_roothub = 1;
}
The thing is that xhci_run() needs allow_single_roothub to already
be set when it executes, but we can't do it before xhci is allocated.
And some non-PCI drivers don't want it to be set.
Can you check if this patch fixes things for you?
It is obviously not a real solution, but it's good enough for xhci_pci
and sufficient to check if no other problems remain in your case.
---
diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
index 485ea7fc0433..354443316bfb 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -1735,8 +1735,7 @@ static inline bool xhci_hcd_is_usb3(struct usb_hcd *hcd)
static inline bool xhci_has_one_roothub(struct xhci_hcd *xhci)
{
- return xhci->allow_single_roothub &&
- (!xhci->usb2_rhub.num_ports || !xhci->usb3_rhub.num_ports);
+ return (!xhci->usb2_rhub.num_ports || !xhci->usb3_rhub.num_ports);
}
#define xhci_dbg(xhci, fmt, args...) \
next prev parent reply other threads:[~2025-10-09 11:14 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-07 20:47 [REGRESSION] USB-A devices not working on boot after recent USB merge Arisa Snowbell
2025-10-07 21:17 ` Michal Pecio
2025-10-07 22:30 ` Arisa Snowbell
2025-10-08 1:15 ` Arisa Snowbell
2025-10-08 1:41 ` Arisa Snowbell
2025-10-08 6:20 ` Michal Pecio
2025-10-08 9:02 ` Arisa Snowbell
2025-10-08 11:05 ` Michal Pecio
2025-10-08 12:16 ` Arisa Snowbell
2025-10-08 20:34 ` Michal Pecio
2025-10-08 21:29 ` Arisa Snowbell
2025-10-08 22:25 ` Arisa Snowbell
2025-10-09 11:14 ` Michal Pecio [this message]
2025-10-09 11:30 ` [REGRESSION] [REPRO] " Mathias Nyman
2025-10-09 13:27 ` Michal Pecio
2025-10-10 8:15 ` Mathias Nyman
2025-10-10 9:15 ` Arisa Snowbell
2025-10-13 7:22 ` [PATCH usb-next] usb: xhci-pci: Cleanup xhci_pci_setup() for shared HCD Michal Pecio
2025-10-13 7:55 ` Mathias Nyman
2025-10-13 8:04 ` [PATCH v2 RFT] usb: xhci-pci: Fix USB2-only root hub registration Michal Pecio
2025-10-13 13:52 ` Arisa Snowbell
2025-10-13 14:33 ` Hanabishi
2025-10-13 16:03 ` Michal Kubecek
2025-11-14 14:06 ` [PATCH] usb: xhci-pci: Clean up xhci_pci_setup() Michal Pecio
2025-10-09 12:16 ` [REGRESSION] [REPRO] USB-A devices not working on boot after recent USB merge Arisa Snowbell
2025-10-09 12:29 ` [PATCH] usb: xhci-pci: Fix USB2-only root hub registration Michal Pecio
2025-10-09 12:49 ` Arisa Snowbell
2025-10-09 13:08 ` Mathias Nyman
2025-10-09 11:15 ` [REGRESSION] USB-A devices not working on boot after recent USB merge Mathias Nyman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251009131444.2c221922.michal.pecio@gmail.com \
--to=michal.pecio@gmail.com \
--cc=arisa.snowbell@gmail.com \
--cc=linux-usb@vger.kernel.org \
--cc=mathias.nyman@linux.intel.com \
--cc=niklas.neronin@linux.intel.com \
--cc=regressions@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox