[PATCH] dwc3: Fix fastboot re-run failure with flat DTS

Mattijs Korpershoek mkorpershoek at kernel.org
Mon Jun 8 09:15:13 CEST 2026


Hi,

On Sat, May 30, 2026 at 12:02, Marek Vasut <marek.vasut at mailbox.org> wrote:

> On 5/29/26 2:22 PM, Balaji Selvanathan wrote:
>> Problem: The first "run fastboot" works and enumerates on the host.
>> Subsequent runs fail, with no USB enumeration observed.
>> 
>> With flat DTS configurations, the peripheral device inherits
>> power-domains from its parent (glue) node, as both reference the
>> same DT node. During teardown after "fastboot continue",
>> device_remove() of peripheral device invokes dev_power_domain_off(),
>> which powers off the shared USB GDSC.
>> 
>> As a result, the next "run fastboot" fails because the power
>> domain is left in an uninitialized state.
>> 
>> Add DM_FLAG_LEAVE_PD_ON to dwc3_generic_peripheral to prevent
>> power domain shutdown during peripheral removal.
> It seems the driver does not handle its power domains correctly, 
> inhibiting PD control is not a fix, sorry.

I agree with Marek here. Especially since this is a generic driver.

I had a somewhat similar problem on amlogic devices where I could only
run fastboot once.

I've solved this via
https://lore.kernel.org/all/20221024-meson-dm-usb-v1-1-2ab077a503b9@baylibre.com/

Maybe you can explore something similar instead?


More information about the U-Boot mailing list