]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
phy: freescale: phy-fsl-imx8qm-lvds-phy: Use synchronous PM runtime put in reset
authorFelix Gu <ustc.gu@gmail.com>
Tue, 9 Jun 2026 14:48:50 +0000 (22:48 +0800)
committerVinod Koul <vkoul@kernel.org>
Thu, 11 Jun 2026 11:01:22 +0000 (16:31 +0530)
The mixel_lvds_phy_reset() function pairs pm_runtime_resume_and_get()
with pm_runtime_put(). The asynchronous variant queues a work item
to handle the idle check and potential suspend, which can be cancelled
by a subsequent pm_runtime_disable() call if probe fails after the reset.

Switch to pm_runtime_put_sync() to run the idle check and suspend
synchronously.

Fixes: 06ff622d61d2 ("phy: freescale: Add i.MX8qm Mixel LVDS PHY support")
Reported-by: sashiko <sashiko-bot@kernel.org>
Closes: https://sashiko.dev/#/patchset/20260605-lvds-v2-1-3ce7539d1104%40gmail.com
Signed-off-by: Felix Gu <ustc.gu@gmail.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/20260609-lvds-phy-v1-1-6ad790c6d0ea@gmail.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/phy/freescale/phy-fsl-imx8qm-lvds-phy.c

index ece35744352170ca4543c1c81f3787f16fe426a6..e2a1645000ae55f87b40980db46552f12a71d96a 100644 (file)
@@ -286,7 +286,7 @@ static int mixel_lvds_phy_reset(struct device *dev)
 
        regmap_write(priv->regmap, PHY_CTRL, CTRL_RESET_VAL);
 
-       pm_runtime_put(dev);
+       pm_runtime_put_sync(dev);
 
        return 0;
 }