Commit 2378bf14 authored by Liang He's avatar Liang He Committed by Michael Ellerman
Browse files

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: default avatarLiang He <windhl@126.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20220716074344.540049-1-windhl@126.com
parent 11373c93
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -81,11 +81,15 @@ 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;