From: Geert Uytterhoeven Date: Tue, 30 Dec 2025 15:04:05 +0000 (+0100) Subject: phy: core: Reinstate pm_runtime_enabled() check in phy_pm_runtime_put() X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0287c960b15f27498d85cadf584bb59301ea2382;p=thirdparty%2Flinux.git phy: core: Reinstate pm_runtime_enabled() check in phy_pm_runtime_put() On Koelsch (R-Car M2-W), during boot and s2ram: phy phy-e6590100.usb-phy-controller.0: Runtime PM usage count underflow! While phy_pm_runtime_get{,_sync}() and phy_pm_runtime_put_sync() still contain pm_runtime_enabled() checks, the same check in phy_pm_runtime_put() was deemed redundant and removed, causing count underflows with PHY drivers like drivers/phy/renesas/phy-rcar-gen2.c that do not use Runtime PM yet, Fix this by reinstating the check. Fixes: caad07ae07e3fb17 ("phy: core: Discard pm_runtime_put() return values") Signed-off-by: Geert Uytterhoeven Reviewed-by: Rafael J. Wysocki Link: https://patch.msgid.link/3ca9f8166d21685bfbf97535da30172f74822130.1767107014.git.geert+renesas@glider.be Signed-off-by: Vinod Koul --- diff --git a/drivers/phy/phy-core.c b/drivers/phy/phy-core.c index 160ecb757d1d..e2a2a99d0697 100644 --- a/drivers/phy/phy-core.c +++ b/drivers/phy/phy-core.c @@ -195,6 +195,9 @@ void phy_pm_runtime_put(struct phy *phy) if (!phy) return; + if (!pm_runtime_enabled(&phy->dev)) + return; + pm_runtime_put(&phy->dev); } EXPORT_SYMBOL_GPL(phy_pm_runtime_put);