linux-yocto/drivers/usb/dwc3
Kuen-Han Tsai 3b1407caac usb: dwc3: Abort suspend on soft disconnect failure
commit 630a1dec3b upstream.

When dwc3_gadget_soft_disconnect() fails, dwc3_suspend_common() keeps
going with the suspend, resulting in a period where the power domain is
off, but the gadget driver remains connected.  Within this time frame,
invoking vbus_event_work() will cause an error as it attempts to access
DWC3 registers for endpoint disabling after the power domain has been
completely shut down.

Abort the suspend sequence when dwc3_gadget_suspend() cannot halt the
controller and proceeds with a soft connect.

Fixes: 9f8a67b65a ("usb: dwc3: gadget: fix gadget suspend/resume")
Cc: stable <stable@kernel.org>
Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Signed-off-by: Kuen-Han Tsai <khtsai@google.com>
Link: https://lore.kernel.org/r/20250528100315.2162699-1-khtsai@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-07-10 16:05:11 +02:00
..
core.c usb: dwc3: Abort suspend on soft disconnect failure 2025-07-10 16:05:11 +02:00
core.h usb: dwc3: gadget: Make gadget_wakeup asynchronous 2025-05-18 08:24:54 +02:00
debug.h
debugfs.c
drd.c usb: dwc3: Set SUSPENDENABLE soon after phy init 2025-03-13 13:02:11 +01:00
dwc3-am62.c usb: dwc3-am62: Fix an OF node leak in phy_syscon_pll_refclk() 2025-02-08 09:58:14 +01:00
dwc3-exynos.c
dwc3-haps.c
dwc3-imx8mp.c
dwc3-keystone.c
dwc3-meson-g12a.c
dwc3-octeon.c
dwc3-of-simple.c
dwc3-omap.c
dwc3-pci.c usb: dwc3: gadget: Avoid using reserved endpoints on Intel Merrifield 2025-05-02 07:59:17 +02:00
dwc3-qcom.c
dwc3-rtk.c
dwc3-st.c
dwc3-xilinx.c usb: dwc3: xilinx: Prevent spike in reset signal 2025-05-02 07:59:13 +02:00
ep0.c
gadget.c usb: dwc3: Abort suspend on soft disconnect failure 2025-07-10 16:05:11 +02:00
gadget.h
host.c
io.h
Kconfig
Makefile
trace.c
trace.h
ulpi.c