Re: [PATCH v2 2/2] phy: starfive: Fix runtime PM cleanup in JH7110 DPHY RX probe

From: Changhuang Liang

Date: Sun Jul 19 2026 - 21:17:43 EST


> stf_dphy_probe() enables runtime PM before registering the PHY provider.
> If devm_of_phy_provider_register() fails, probe returns with runtime PM still
> enabled.
>
> The driver also has no remove callback, so runtime PM is left enabled on
> driver unbind after a successful probe.
>
> Use devm_pm_runtime_enable() so runtime PM is disabled automatically on
> later probe failures and on driver unbind.
>
> Fixes: f8aa660841bc ("phy: starfive: Add mipi dphy rx support")
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Can Peng <pengcan@xxxxxxxxxx>

Reviewed-by: Changhuang Liang <changhuang.liang@xxxxxxxxxxxxxxxx>

> ---
> drivers/phy/starfive/phy-jh7110-dphy-rx.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/phy/starfive/phy-jh7110-dphy-rx.c
> b/drivers/phy/starfive/phy-jh7110-dphy-rx.c
> index 0b039e1f71c5..d06f21ad6332 100644
> --- a/drivers/phy/starfive/phy-jh7110-dphy-rx.c
> +++ b/drivers/phy/starfive/phy-jh7110-dphy-rx.c
> @@ -150,6 +150,7 @@ static int stf_dphy_probe(struct platform_device
> *pdev) {
> struct phy_provider *phy_provider;
> struct stf_dphy *dphy;
> + int ret;
>
> dphy = devm_kzalloc(&pdev->dev, sizeof(*dphy), GFP_KERNEL);
> if (!dphy)
> @@ -190,7 +191,9 @@ static int stf_dphy_probe(struct platform_device
> *pdev)
> return PTR_ERR(dphy->phy);
> }
>
> - pm_runtime_enable(&pdev->dev);
> + ret = devm_pm_runtime_enable(&pdev->dev);
> + if (ret)
> + return ret;
>
> phy_set_drvdata(dphy->phy, dphy);
> phy_provider = devm_of_phy_provider_register(&pdev->dev,
> --
> 2.53.0