Commit eb9e9bc4 authored by Liang He's avatar Liang He Committed by Thomas Bogendoerfer
Browse files

mips/pic32/pic32mzda: Fix refcount leak bugs



of_find_matching_node(), of_find_compatible_node() and
of_find_node_by_path() will return node pointers with refcout
incremented. We should call of_node_put() when they are not
used anymore.

Signed-off-by: default avatarLiang He <windhl@126.com>
Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
parent 76695592
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -98,13 +98,18 @@ static int __init pic32_of_prepare_platform_data(struct of_dev_auxdata *lookup)
		np = of_find_compatible_node(NULL, NULL, lookup->compatible);
		if (np) {
			lookup->name = (char *)np->name;
			if (lookup->phys_addr)
			if (lookup->phys_addr) {
				of_node_put(np);
				continue;
			}
			if (!of_address_to_resource(np, 0, &res))
				lookup->phys_addr = res.start;
			of_node_put(np);
		}
	}

	of_node_put(root);

	return 0;
}

+3 −0
Original line number Diff line number Diff line
@@ -32,6 +32,9 @@ static unsigned int pic32_xlate_core_timer_irq(void)
		goto default_map;

	irq = irq_of_parse_and_map(node, 0);

	of_node_put(node);

	if (!irq)
		goto default_map;