]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
i2c: imx-lpi2c: Fix clock count when probe defers
authorClark Wang <xiaoning.wang@nxp.com>
Mon, 21 Apr 2025 06:23:41 +0000 (14:23 +0800)
committerAndi Shyti <andi.shyti@kernel.org>
Tue, 29 Apr 2025 08:18:51 +0000 (10:18 +0200)
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.

Fixes: 13d6eb20fc79 ("i2c: imx-lpi2c: add runtime pm support")
Signed-off-by: Clark Wang <xiaoning.wang@nxp.com>
Signed-off-by: Carlos Song <carlos.song@nxp.com>
Cc: <stable@vger.kernel.org> # v4.16+
Link: https://lore.kernel.org/r/20250421062341.2471922-1-carlos.song@nxp.com
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
drivers/i2c/busses/i2c-imx-lpi2c.c

index 0d4b3935e6873270553cfddf5e7beb9f1254a5f1..342d47e675869d225bcc84812e804d60e2f83de7 100644 (file)
@@ -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;
 }