Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

spi: st-ssc4: Fix unbalanced pm_runtime_disable() in probe error path

If the calls to devm_platform_ioremap_resource(), irq_of_parse_and_map()
or devm_request_irq() fail on probe of the ST SSC4 SPI driver, the
runtime PM disable depth is incremented even though it was not
decremented before. Fix it.

Fixes: cd050abeba2a ("spi: st-ssc4: add missed pm_runtime_disable")
Signed-off-by: Lukas Wunner <lukas@wunner.de>
Cc: <stable@vger.kernel.org> # v5.5+
Cc: Chuhong Yuan <hslester96@gmail.com>
Link: https://lore.kernel.org/r/fbe8768c30dc829e2d77eabe7be062ca22f84024.1604874488.git.lukas@wunner.de
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Lukas Wunner and committed by
Mark Brown
5ef76dac c575e911

+3 -2
+3 -2
drivers/spi/spi-st-ssc4.c
··· 375 375 ret = devm_spi_register_master(&pdev->dev, master); 376 376 if (ret) { 377 377 dev_err(&pdev->dev, "Failed to register master\n"); 378 - goto clk_disable; 378 + goto rpm_disable; 379 379 } 380 380 381 381 return 0; 382 382 383 - clk_disable: 383 + rpm_disable: 384 384 pm_runtime_disable(&pdev->dev); 385 + clk_disable: 385 386 clk_disable_unprepare(spi_st->clk); 386 387 put_master: 387 388 spi_master_put(master);