[PATCH] fsi: master-aspeed: Fix of_node reference leak in fsi_master_aspeed_probe()
From: Wentao Liang
Date: Wed Sep 16 2026 - 05:47:30 EST
In fsi_master_aspeed_probe(), a reference to the device tree node is
taken with of_node_get() and stored in master.dev.of_node. If
fsi_master_register() fails, the error path frees the master without
putting that reference, leaking it.
Put the device node reference before returning on the error path.
of_node_put() tolerates a NULL node, so the earlier err_release path
via opb_readl() is unaffected.
Fixes: 606397d67f41 ("fsi: Add ast2600 master driver")
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Wentao Liang <vulab@xxxxxxxxxxx>
---
drivers/fsi/fsi-master-aspeed.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/fsi/fsi-master-aspeed.c b/drivers/fsi/fsi-master-aspeed.c
index aa1380cdff33..7c7f30c2b8e6 100644
--- a/drivers/fsi/fsi-master-aspeed.c
+++ b/drivers/fsi/fsi-master-aspeed.c
@@ -640,6 +640,7 @@ static int fsi_master_aspeed_probe(struct platform_device *pdev)
return 0;
err_release:
+ of_node_put(aspeed->master.dev.of_node);
clk_disable_unprepare(aspeed->clk);
err_free_aspeed:
kfree(aspeed);
--
2.34.1