linux/drivers/usb/dwc3
Kyle Tso 66e0ea341a usb: dwc3: core: Defer the probe until USB power supply ready
Currently, DWC3 driver attempts to acquire the USB power supply only
once during the probe. If the USB power supply is not ready at that
time, the driver simply ignores the failure and continues the probe,
leading to permanent non-functioning of the gadget vbus_draw callback.

Address this problem by delaying the dwc3 driver initialization until
the USB power supply is registered.

Fixes: 6f0764b5ad ("usb: dwc3: add a power supply for current control")
Cc: stable <stable@kernel.org>
Signed-off-by: Kyle Tso <kyletso@google.com>
Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Link: https://lore.kernel.org/r/20250115044548.2701138-1-kyletso@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-01-17 12:38:22 +01:00
..
Kconfig usb: use "prompt" instead of "bool" for choice prompts 2024-11-04 17:53:09 +09:00
Makefile usb: dwc3: add Realtek DHC RTD SoC dwc3 glue layer driver 2023-10-02 14:05:24 +02:00
core.c usb: dwc3: core: Defer the probe until USB power supply ready 2025-01-17 12:38:22 +01:00
core.h usb: dwc3: gadget: Reinitiate stream for all host NoStream behavior 2025-01-15 18:29:08 +01:00
debug.h
debugfs.c
drd.c usb: dwc3: core: Refactor PHY logic to support Multiport Controller 2024-04-23 19:56:09 -07:00
dwc3-am62.c Merge 6.13-rc7 into usb-next 2025-01-13 06:11:06 +01:00
dwc3-exynos.c usb: Switch back to struct platform_driver::remove() 2024-10-04 15:13:03 +02:00
dwc3-haps.c
dwc3-imx8mp.c usb: dwc3: imx8mp: fix software node kernel dump 2024-12-04 16:26:30 +01:00
dwc3-keystone.c usb: Switch back to struct platform_driver::remove() 2024-10-04 15:13:03 +02:00
dwc3-meson-g12a.c usb: Switch back to struct platform_driver::remove() 2024-10-04 15:13:03 +02:00
dwc3-octeon.c usb: Switch back to struct platform_driver::remove() 2024-10-04 15:13:03 +02:00
dwc3-of-simple.c usb: Switch back to struct platform_driver::remove() 2024-10-04 15:13:03 +02:00
dwc3-omap.c usb: dwc3: omap: Fix devm_regulator_get_optional() error handling 2025-01-11 17:02:30 +01:00
dwc3-pci.c usb: dwc3: pci: add support for the Intel Panther Lake 2024-07-03 16:06:32 +02:00
dwc3-qcom.c usb: Use (of|device)_property_present() for non-boolean properties 2024-11-05 13:29:26 +01:00
dwc3-rtk.c usb: Switch back to struct platform_driver::remove() 2024-10-04 15:13:03 +02:00
dwc3-st.c usb: dwc3: st: Switch from CONFIG_PM_SLEEP guards to pm_sleep_ptr() 2025-01-11 17:02:30 +01:00
dwc3-xilinx.c usb: dwc3: xilinx: make sure pipe clock is deselected in usb2 only mode 2024-12-04 16:26:54 +01:00
ep0.c usb: dwc3: ep0: Don't clear ep0 DWC3_EP_TRANSFER_STARTED 2024-11-16 09:04:56 +01:00
gadget.c usb: dwc3: gadget: Reinitiate stream for all host NoStream behavior 2025-01-15 18:29:08 +01:00
gadget.h Merge 6.8-rc5 into usb-next 2024-02-19 09:13:29 +01:00
host.c usb: dwc3: Correct some typos in comments 2024-10-04 15:08:53 +02:00
io.h
trace.c
trace.h tracing/treewide: Remove second parameter of __assign_str() 2024-05-22 20:14:47 -04:00
ulpi.c