[PATCH 2/2] ARM: highbank: fix of node handling in highbank_init_irq

Martin Kaiser martin at kaiser.cx
Sun Dec 18 06:26:47 PST 2022


highbank_init calls of_find_compatible_node and discards the returned
node. We should save the node and call of_node_put on it when finished.

Signed-off-by: Martin Kaiser <martin at kaiser.cx>
---
 arch/arm/mach-highbank/highbank.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-highbank/highbank.c b/arch/arm/mach-highbank/highbank.c
index 97ccb8c1b3cd..54eb1422ef8f 100644
--- a/arch/arm/mach-highbank/highbank.c
+++ b/arch/arm/mach-highbank/highbank.c
@@ -50,10 +50,16 @@ static void highbank_l2c310_write_sec(unsigned long val, unsigned reg)
 
 static void __init highbank_init_irq(void)
 {
+	struct device_node *np;
+
 	irqchip_init();
 
-	if (of_find_compatible_node(NULL, NULL, "arm,cortex-a9"))
-		highbank_scu_map_io();
+	np = of_find_compatible_node(NULL, NULL, "arm,cortex-a9");
+	if (!np)
+		return;
+
+	highbank_scu_map_io();
+	of_node_put(np);
 }
 
 static void highbank_power_off(void)
-- 
2.30.2




More information about the linux-arm-kernel mailing list