]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
spi: stm32-ospi: Fix reset control leak on probe error
authorFelix Gu <ustc.gu@gmail.com>
Sat, 28 Mar 2026 16:07:06 +0000 (00:07 +0800)
committerMark Brown <broonie@kernel.org>
Mon, 30 Mar 2026 12:46:29 +0000 (13:46 +0100)
When spi_register_controller() fails after reset_control_acquire()
succeeds, the reset control is never released. This causes a resource
leak in the error path.

Add the missing reset_control_release() call in the error path.

Fixes: cf2c3eceb757 ("spi: stm32-ospi: Make usage of reset_control_acquire/release() API")
Signed-off-by: Felix Gu <ustc.gu@gmail.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
Link: https://patch.msgid.link/20260329-stm32-ospi-v1-1-142122466412@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-stm32-ospi.c

index 2baf651c0a6da889beb5cb0af59d7c9d9e1b703f..c9f92e85253ffc894b07135579673bdd2eb7f105 100644 (file)
@@ -965,13 +965,15 @@ static int stm32_ospi_probe(struct platform_device *pdev)
        if (ret) {
                /* Disable ospi */
                writel_relaxed(0, ospi->regs_base + OSPI_CR);
-               goto err_pm_resume;
+               goto err_reset_control;
        }
 
        pm_runtime_put_autosuspend(ospi->dev);
 
        return 0;
 
+err_reset_control:
+       reset_control_release(ospi->rstc);
 err_pm_resume:
        pm_runtime_put_sync_suspend(ospi->dev);