[PATCH] i2c: imx-lpi2c: Fix clock count when probe defers

carlos.song at nxp.com carlos.song at nxp.com
Sun Apr 20 23:23:41 PDT 2025


From: Clark Wang <xiaoning.wang at nxp.com>

Deferred probe with pm_runtime_put() may delay clock disable, causing
incorrect clock usage count. Use pm_runtime_put_sync() to ensure the
clock is disabled immediately.

Signed-off-by: Carlos Song <carlos.song at nxp.com>
Signed-off-by: Clark Wang <xiaoning.wang at nxp.com>
Signed-off-by: Jun Li <jun.li at nxp.com>
Signed-off-by: Haibo Chen <haibo.chen at nxp.com>
---
 drivers/i2c/busses/i2c-imx-lpi2c.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/i2c/busses/i2c-imx-lpi2c.c b/drivers/i2c/busses/i2c-imx-lpi2c.c
index 0d4b3935e687..342d47e67586 100644
--- a/drivers/i2c/busses/i2c-imx-lpi2c.c
+++ b/drivers/i2c/busses/i2c-imx-lpi2c.c
@@ -1380,9 +1380,9 @@ static int lpi2c_imx_probe(struct platform_device *pdev)
 	return 0;
 
 rpm_disable:
-	pm_runtime_put(&pdev->dev);
-	pm_runtime_disable(&pdev->dev);
 	pm_runtime_dont_use_autosuspend(&pdev->dev);
+	pm_runtime_put_sync(&pdev->dev);
+	pm_runtime_disable(&pdev->dev);
 
 	return ret;
 }
-- 
2.34.1




More information about the linux-arm-kernel mailing list