]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
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>
Sun, 6 Jul 2025 08:57:55 +0000 (10:57 +0200)
commit1ac826cebc2776f91569f2aa9c9c3da2375d2096
tree3d96dcc27fc0bc36fe58b6ee80bbba11fbc5c2ce
parent89db46dbe5211bbbe13fc46084d1393dea539c8a
usb: dwc2: also exit clock_gating when stopping udc while suspended

[ Upstream commit af076a41f8a28faf9ceb9dd2d88aef2c202ef39a ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/usb/dwc2/gadget.c