On Sat, 2022-07-16 at 15:43 +0800, Liang He wrote: > 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.
None of these matter since those nodes are never *ever* released and those machines don't use dynamic node allocation but ... > Fixes: 51d3082fe6e5 ("[PATCH] powerpc: Unify udbg (#2)") > Signed-off-by: Liang He <win...@126.com> > --- > arch/powerpc/platforms/powermac/udbg_scc.c | 8 ++++++-- > 1 file 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;