[PATCH] spi: nxp-fspi: Fix runtime PM leak in nxp_fspi_probe()

From: Wentao Liang

Date: Thu Sep 17 2026 - 11:51:28 EST


pm_runtime_get_sync() increments the runtime PM usage counter even when
it fails. If it returns an error, nxp_fspi_probe() returns without
dropping that reference, so the counter stays unbalanced.

Balance the counter with pm_runtime_put_noidle() before returning, as
nxp_fspi_remove() already does.

Fixes: 97be4b919a60 ("spi: spi-nxp-fspi: enable runtime pm for fspi")
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Wentao Liang <vulab@xxxxxxxxxxx>
---
drivers/spi/spi-nxp-fspi.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/spi/spi-nxp-fspi.c b/drivers/spi/spi-nxp-fspi.c
index 1e36ae084dd8..9883e5149dc4 100644
--- a/drivers/spi/spi-nxp-fspi.c
+++ b/drivers/spi/spi-nxp-fspi.c
@@ -1351,8 +1351,10 @@ static int nxp_fspi_probe(struct platform_device *pdev)

/* enable clock */
ret = pm_runtime_get_sync(f->dev);
- if (ret < 0)
+ if (ret < 0) {
+ pm_runtime_put_noidle(f->dev);
return dev_err_probe(dev, ret, "Failed to enable clock");
+ }

/* Clear potential interrupts */
reg = fspi_readl(f, f->iobase + FSPI_INTR);
--
2.34.1