spi: tegra20-slink: Fix runtime PM imbalance on error
authorDinghao Liu <dinghao.liu@zju.edu.cn>
Sat, 23 May 2020 12:29:09 +0000 (20:29 +0800)
committerMark Brown <broonie@kernel.org>
Thu, 28 May 2020 13:01:15 +0000 (14:01 +0100)
pm_runtime_get_sync() increments the runtime PM usage counter even
when it returns an error code. Thus a pairing decrement is needed on
the error handling path to keep the counter balanced.

Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
Link: https://lore.kernel.org/r/20200523122909.25247-1-dinghao.liu@zju.edu.cn
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-tegra20-slink.c

index 7f4d932dade7b66fb113eb379ace0339e9304134..a07b72e9c344847e38099eff64565f51c6887b86 100644 (file)
@@ -1118,6 +1118,7 @@ static int tegra_slink_probe(struct platform_device *pdev)
        ret = pm_runtime_get_sync(&pdev->dev);
        if (ret < 0) {
                dev_err(&pdev->dev, "pm runtime get failed, e = %d\n", ret);
+               pm_runtime_put_noidle(&pdev->dev);
                goto exit_pm_disable;
        }
        tspi->def_command_reg  = SLINK_M_S;