| From 6083184269fd723affca4f6340e491950267622a Mon Sep 17 00:00:00 2001 |
| From: Anton Blanchard <anton@samba.org> |
| Date: Wed, 10 Aug 2011 20:44:21 +0000 |
| Subject: powerpc/numa: Remove double of_node_put in hot_add_node_scn_to_nid |
| |
| From: Anton Blanchard <anton@samba.org> |
| |
| commit 6083184269fd723affca4f6340e491950267622a upstream. |
| |
| During memory hotplug testing, I got the following warning: |
| |
| ERROR: Bad of_node_put() on /memory@0 |
| |
| of_node_release |
| kref_put |
| of_node_put |
| of_find_node_by_type |
| hot_add_node_scn_to_nid |
| hot_add_scn_to_nid |
| memory_add_physaddr_to_nid |
| ... |
| |
| of_find_node_by_type() loop does the of_node_put for us so we only |
| need the handle the case where we terminate the loop early. |
| |
| As suggested by Stephen Rothwell we can do the of_node_put |
| unconditionally outside of the loop since of_node_put handles a |
| NULL argument fine. |
| |
| Signed-off-by: Anton Blanchard <anton@samba.org> |
| Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| arch/powerpc/mm/numa.c | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| --- a/arch/powerpc/mm/numa.c |
| +++ b/arch/powerpc/mm/numa.c |
| @@ -1214,11 +1214,12 @@ int hot_add_node_scn_to_nid(unsigned lon |
| break; |
| } |
| |
| - of_node_put(memory); |
| if (nid >= 0) |
| break; |
| } |
| |
| + of_node_put(memory); |
| + |
| return nid; |
| } |
| |