usb: dwc2: also exit clock_gating when stopping udc while suspended
authorMichael Grzeschik <m.grzeschik@pengutronix.de>
Thu, 17 Apr 2025 17:40:17 +0000 (19:40 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 25 Apr 2025 11:21:09 +0000 (13:21 +0200)
commitaf076a41f8a28faf9ceb9dd2d88aef2c202ef39a
treefab6a95fcc3fcf79df657c8ccf8587208feaf09a
parent0bc3e641157c32d3bf23d3e14aefb159842d74ab
usb: dwc2: also exit clock_gating when stopping udc while suspended

It is possible that the gadget will be disabled, while the udc is
suspended. When enabling the udc in that case, the clock gating
will not be enabled again. Leaving the phy unclocked. Even when the
udc is not enabled, connecting this powered but not clocked phy leads
to enumeration errors on the host side.

To ensure that the clock gating will be in an valid state, we ensure
that the clock gating will be enabled before stopping the udc.

Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Acked-by: Minas Harutyunyan <hminas@synopsys.com>
Link: https://lore.kernel.org/r/20250417-dwc2_clock_gating-v1-1-8ea7c4d53d73@pengutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/dwc2/gadget.c