phy: mapphone-mdm6600: Fix runtime disable on probe
authorTony Lindgren <tony@atomide.com>
Wed, 13 Sep 2023 06:04:27 +0000 (09:04 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 25 Oct 2023 10:03:16 +0000 (12:03 +0200)
[ Upstream commit 719606154c7033c068a5d4c1dc5f9163b814b3c8 ]

Commit d644e0d79829 ("phy: mapphone-mdm6600: Fix PM error handling in
phy_mdm6600_probe") caused a regression where we now unconditionally
disable runtime PM at the end of the probe while it is only needed on
errors.

Cc: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
Cc: Merlijn Wajer <merlijn@wizzup.org>
Cc: Miaoqian Lin <linmq006@gmail.com>
Cc: Pavel Machek <pavel@ucw.cz>
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Fixes: d644e0d79829 ("phy: mapphone-mdm6600: Fix PM error handling in phy_mdm6600_probe")
Signed-off-by: Tony Lindgren <tony@atomide.com>
Link: https://lore.kernel.org/r/20230913060433.48373-1-tony@atomide.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/phy/motorola/phy-mapphone-mdm6600.c

index 3cd4d51c247c3cf2950dee85ec0233bb5742c7f9..436b5ab6dc6d566ad1f3aefe7f38895e7d6b4c0b 100644 (file)
@@ -627,10 +627,12 @@ idle:
        pm_runtime_put_autosuspend(ddata->dev);
 
 cleanup:
-       if (error < 0)
+       if (error < 0) {
                phy_mdm6600_device_power_off(ddata);
-       pm_runtime_disable(ddata->dev);
-       pm_runtime_dont_use_autosuspend(ddata->dev);
+               pm_runtime_disable(ddata->dev);
+               pm_runtime_dont_use_autosuspend(ddata->dev);
+       }
+
        return error;
 }