aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms/powermac/udbg_scc.c
diff options
context:
space:
mode:
authorLiang He <windhl@126.com>2022-07-16 15:43:44 +0800
committerMichael Ellerman <mpe@ellerman.id.au>2022-09-05 17:30:30 +1000
commit2378bf144b841df548161af49bf1ff393dc60d44 (patch)
treee619b72cebe2a194df606dca584eb5b124b12dc4 /arch/powerpc/platforms/powermac/udbg_scc.c
parentpowerpc/powermac/pfunc_base: Add missing of_node_put() in macio_gpio_init_one() (diff)
downloadlinux-dev-2378bf144b841df548161af49bf1ff393dc60d44.tar.xz
linux-dev-2378bf144b841df548161af49bf1ff393dc60d44.zip
powerpc/powermac/udbg_scc: Add missing of_node_put()s in udbg_scc_init()
During the iteration of for_each_child_of_node(), we need to call of_node_put() for the old references stored in to 'ch_def' and 'ch_a' as their refcounters have been increased in last iteration. Signed-off-by: Liang He <windhl@126.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20220716074344.540049-1-windhl@126.com
Diffstat (limited to '')
-rw-r--r--arch/powerpc/platforms/powermac/udbg_scc.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/powerpc/platforms/powermac/udbg_scc.c b/arch/powerpc/platforms/powermac/udbg_scc.c
index 734df5a32f99..1b7c39e841ee 100644
--- a/arch/powerpc/platforms/powermac/udbg_scc.c
+++ b/arch/powerpc/platforms/powermac/udbg_scc.c
@@ -81,10 +81,14 @@ void __init udbg_scc_init(int force_scc)
if (path != NULL)
stdout = of_find_node_by_path(path);
for_each_child_of_node(escc, ch) {
- if (ch == stdout)
+ if (ch == stdout) {
+ of_node_put(ch_def);
ch_def = of_node_get(ch);
- if (of_node_name_eq(ch, "ch-a"))
+ }
+ if (of_node_name_eq(ch, "ch-a")) {
+ of_node_put(ch_a);
ch_a = of_node_get(ch);
+ }
}
if (ch_def == NULL && !force_scc)
goto bail;