| From 61206127b0c9877de828b21346e6718b0126dcb7 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Sun, 29 Mar 2026 19:14:05 +0800 |
| Subject: spi: stm32-ospi: Fix resource leak in remove() callback |
| |
| From: Felix Gu <ustc.gu@gmail.com> |
| |
| [ Upstream commit 73cd1f97946ae3796544448ff12c07f399bb2881 ] |
| |
| The remove() callback returned early if pm_runtime_resume_and_get() |
| failed, skipping the cleanup of spi controller and other resources. |
| |
| Remove the early return so cleanup completes regardless of PM resume |
| result. |
| |
| Fixes: 79b8a705e26c ("spi: stm32: Add OSPI driver") |
| Signed-off-by: Felix Gu <ustc.gu@gmail.com> |
| Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com> |
| Link: https://patch.msgid.link/20260329-ospi-v1-1-cc8cf1c82c4a@gmail.com |
| Signed-off-by: Mark Brown <broonie@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/spi/spi-stm32-ospi.c | 5 +---- |
| 1 file changed, 1 insertion(+), 4 deletions(-) |
| |
| diff --git a/drivers/spi/spi-stm32-ospi.c b/drivers/spi/spi-stm32-ospi.c |
| index f36fd36da2692..5fa27de89210a 100644 |
| --- a/drivers/spi/spi-stm32-ospi.c |
| +++ b/drivers/spi/spi-stm32-ospi.c |
| @@ -963,11 +963,8 @@ static int stm32_ospi_probe(struct platform_device *pdev) |
| static void stm32_ospi_remove(struct platform_device *pdev) |
| { |
| struct stm32_ospi *ospi = platform_get_drvdata(pdev); |
| - int ret; |
| |
| - ret = pm_runtime_resume_and_get(ospi->dev); |
| - if (ret < 0) |
| - return; |
| + pm_runtime_resume_and_get(ospi->dev); |
| |
| spi_unregister_controller(ospi->ctrl); |
| /* Disable ospi */ |
| -- |
| 2.53.0 |
| |