summaryrefslogtreecommitdiff
path: root/drivers/phy
diff options
context:
space:
mode:
authorGeert Uytterhoeven <geert+renesas@glider.be>2025-12-30 16:04:05 +0100
committerVinod Koul <vkoul@kernel.org>2026-01-01 15:54:45 +0530
commit0287c960b15f27498d85cadf584bb59301ea2382 (patch)
tree7baba02c86b69d19d88b352ee42b62b7b3d0a4e4 /drivers/phy
parent8df20813eb01fe29b4507fd470d73675bda3e1dd (diff)
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 <geert+renesas@glider.be> Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Link: https://patch.msgid.link/3ca9f8166d21685bfbf97535da30172f74822130.1767107014.git.geert+renesas@glider.be Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/phy')
-rw-r--r--drivers/phy/phy-core.c3
1 files changed, 3 insertions, 0 deletions
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);