summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms
diff options
context:
space:
mode:
authorLiang He <windhl@126.com>2022-06-16 22:40:07 +0800
committerMichael Ellerman <mpe@ellerman.id.au>2022-09-05 17:28:25 +1000
commit593d7b89c6a2bf7aea2324c94f10ef3c21308418 (patch)
tree01b68bd629411db46c41cbba329341dc55a52615 /arch/powerpc/platforms
parent64e696af167f612cd1ecba89edfeb2353ca59947 (diff)
downloadlinux-stable-593d7b89c6a2bf7aea2324c94f10ef3c21308418.tar.gz
linux-stable-593d7b89c6a2bf7aea2324c94f10ef3c21308418.tar.bz2
linux-stable-593d7b89c6a2bf7aea2324c94f10ef3c21308418.zip
powerpc/52xx: Add missing of_node_put() in media5200.c
In media5200_init_irq(), of_find_compatible_node() will return a node pointer with refcount incremented. The reference should be dropped with of_node_put() in the failure path or when it is not used anymore. Don't worry about 'fpga_np == NULL' as of_node_put() can correctly handle that. Signed-off-by: Liang He <windhl@126.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20220616144007.3987743-1-windhl@126.com
Diffstat (limited to 'arch/powerpc/platforms')
-rw-r--r--arch/powerpc/platforms/52xx/media5200.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/52xx/media5200.c b/arch/powerpc/platforms/52xx/media5200.c
index ee367ff3ec8a..33a35fff11b5 100644
--- a/arch/powerpc/platforms/52xx/media5200.c
+++ b/arch/powerpc/platforms/52xx/media5200.c
@@ -174,6 +174,8 @@ static void __init media5200_init_irq(void)
goto out;
pr_debug("%s: allocated irqhost\n", __func__);
+ of_node_put(fpga_np);
+
irq_set_handler_data(cascade_virq, &media5200_irq);
irq_set_chained_handler(cascade_virq, media5200_irq_cascade);
@@ -181,6 +183,7 @@ static void __init media5200_init_irq(void)
out:
pr_err("Could not find Media5200 FPGA; PCI interrupts will not work\n");
+ of_node_put(fpga_np);
}
/*