Skip to content

Commit dd1b25e

Browse files
committed
Fix PM disable depth imbalance in probe
Merge series from Zhang Qilong <zhangqilong3@huawei.com>: The pm_runtime_enable will increase power disable depth. Thus a pairing decrement is needed when error returns to keep it balanced. This series of patches fixed it in spi probe.
2 parents fc13b5a + 29f65f2 commit dd1b25e

File tree

3 files changed

+6
-2
lines changed

3 files changed

+6
-2
lines changed

drivers/spi/spi-cadence-quadspi.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1619,7 +1619,7 @@ static int cqspi_probe(struct platform_device *pdev)
16191619
pm_runtime_enable(dev);
16201620
ret = pm_runtime_resume_and_get(dev);
16211621
if (ret < 0)
1622-
return ret;
1622+
goto probe_pm_failed;
16231623

16241624
ret = clk_prepare_enable(cqspi->clk);
16251625
if (ret) {
@@ -1712,6 +1712,7 @@ static int cqspi_probe(struct platform_device *pdev)
17121712
clk_disable_unprepare(cqspi->clk);
17131713
probe_clk_failed:
17141714
pm_runtime_put_sync(dev);
1715+
probe_pm_failed:
17151716
pm_runtime_disable(dev);
17161717
return ret;
17171718
}

drivers/spi/spi-dw-bt1.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -293,8 +293,10 @@ static int dw_spi_bt1_probe(struct platform_device *pdev)
293293
pm_runtime_enable(&pdev->dev);
294294

295295
ret = dw_spi_add_host(&pdev->dev, dws);
296-
if (ret)
296+
if (ret) {
297+
pm_runtime_disable(&pdev->dev);
297298
goto err_disable_clk;
299+
}
298300

299301
platform_set_drvdata(pdev, dwsbt1);
300302

drivers/spi/spi-omap-100k.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -412,6 +412,7 @@ static int omap1_spi100k_probe(struct platform_device *pdev)
412412
return status;
413413

414414
err_fck:
415+
pm_runtime_disable(&pdev->dev);
415416
clk_disable_unprepare(spi100k->fck);
416417
err_ick:
417418
clk_disable_unprepare(spi100k->ick);

0 commit comments

Comments
 (0)