]> git.ipfire.org Git - thirdparty/openwrt.git/commit
kernel: xhci: fix USB3 port events with a single roothub 24547/head
authorSemih Baskan <strst.gs@gmail.com>
Mon, 3 Aug 2026 02:44:59 +0000 (05:44 +0300)
committerHauke Mehrtens <hauke@hauke-m.de>
Fri, 14 Aug 2026 00:05:25 +0000 (02:05 +0200)
commitf6bc2a3b294b3d6b298cf5a625e9923459d64edd
treeedaf38c0253b725e2b1e030d26b35d37192981da
parent5f144a75136825207a62f4adbef8ccc36324ef7b
kernel: xhci: fix USB3 port events with a single roothub

USB3 port events are dropped whenever the controller has only one roothub.
The check that guards them treats a missing shared hcd as proof the hcd was
removed, which stopped being true with upstream commit 4736ebd7fcaf ("usb:
host: xhci-plat: omit shared hcd if either root hub has no ports"). A
controller whose USB2 root hub has no ports gets a single roothub and never
has a shared one, so every SuperSpeed event is thrown away and nothing
enumerates even though the port reports the device:

  0x006a1203 Powered Connected Enabled Link:U0 PortSpeed:4

Broadcom Northstar is such a controller. USB3 works there up to 5.15 and
stops from 5.19 onwards.

Tested on an Asus RT-N18U with kernel 6.18, seven SuperSpeed enumerations,
USB2 unaffected on both ports.

Link: https://github.com/openwrt/openwrt/issues/19592
Signed-off-by: Semih Baskan <strst.gs@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/24547
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
target/linux/generic/pending-6.12/891-usb-xhci-handle-port-events-when-there-is-one-roothub.patch [new file with mode: 0644]
target/linux/generic/pending-6.18/891-usb-xhci-handle-port-events-when-there-is-one-roothub.patch [new file with mode: 0644]