* [PATCH] USB: bcma: defer probe until USB3 is ready
@ 2026-09-26 23:05 Rosen Penev
0 siblings, 0 replies; only message in thread
From: Rosen Penev @ 2026-09-26 23:05 UTC (permalink / raw)
To: linux-usb; +Cc: Greg Kroah-Hartman, open list
Northstar SuperSpeed data goes to xHCI while D+/D- go to EHCI. If EHCI
probes first with VBUS already on, a SuperSpeed device falls back to
high-speed and stays there.
Defer the NS USB2 core until the USB3 core has probed, and enable VBUS
only after that host init (of_platform_populate binds xHCI when
xhci-plat is already registered). USB2-only chips have no NS USB3 core
and are unchanged.
Remove the TODO since checks are being added.
Assisted-by: LLM
Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
drivers/usb/host/bcma-hcd.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/usb/host/bcma-hcd.c b/drivers/usb/host/bcma-hcd.c
index 519386255886..9a5704358996 100644
--- a/drivers/usb/host/bcma-hcd.c
+++ b/drivers/usb/host/bcma-hcd.c
@@ -396,8 +396,13 @@ static int bcma_hcd_probe(struct bcma_device *core)
{
int err;
struct bcma_hcd_device *usb_dev;
+ struct bcma_device *usb3;
- /* TODO: Probably need checks here; is the core connected? */
+ if (core->id.id == BCMA_CORE_NS_USB20) {
+ usb3 = bcma_find_core(core->bus, BCMA_CORE_NS_USB30);
+ if (usb3 && !bcma_get_drvdata(usb3))
+ return -EPROBE_DEFER;
+ }
usb_dev = devm_kzalloc(&core->dev, sizeof(struct bcma_hcd_device),
GFP_KERNEL);
--
2.55.0
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-09-26 23:05 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-26 23:05 [PATCH] USB: bcma: defer probe until USB3 is ready Rosen Penev
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®