]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
phy: exynos5-usbdrd: fix clock prepare imbalance
authorAndré Draszik <andre.draszik@linaro.org>
Mon, 6 Oct 2025 08:07:12 +0000 (09:07 +0100)
committerVinod Koul <vkoul@kernel.org>
Thu, 20 Nov 2025 16:40:17 +0000 (22:10 +0530)
Commit f4fb9c4d7f94 ("phy: exynos5-usbdrd: allow DWC3 runtime suspend
with UDC bound (E850+)") incorrectly added clk_bulk_disable() as the
inverse of clk_bulk_prepare_enable() while it should have of course
used clk_bulk_disable_unprepare(). This means incorrect reference
counts to the CMU driver remain.

Update the code accordingly.

Fixes: f4fb9c4d7f94 ("phy: exynos5-usbdrd: allow DWC3 runtime suspend with UDC bound (E850+)")
CC: stable@vger.kernel.org
Signed-off-by: André Draszik <andre.draszik@linaro.org>
Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Reviewed-by: Peter Griffin <peter.griffin@linaro.org>
Link: https://patch.msgid.link/20251006-gs101-usb-phy-clk-imbalance-v1-1-205b206126cf@linaro.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/phy/samsung/phy-exynos5-usbdrd.c

index a88ba95bdc8f539dd8d908960ee2079905688622..1c8bf80119f11e2cd2f07c829986908c150688ac 100644 (file)
@@ -1823,7 +1823,7 @@ static int exynos5_usbdrd_orien_sw_set(struct typec_switch_dev *sw,
                phy_drd->orientation = orientation;
        }
 
-       clk_bulk_disable(phy_drd->drv_data->n_clks, phy_drd->clks);
+       clk_bulk_disable_unprepare(phy_drd->drv_data->n_clks, phy_drd->clks);
 
        return 0;
 }