Linux USB
 help / color / mirror / Atom feed
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...) \


  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