summaryrefslogtreecommitdiff
path: root/arch/powerpc/sysdev/mpic_msgr.c
diff options
context:
space:
mode:
authorLiang He <windhl@126.com>2022-06-20 16:02:21 +0300
committerMichael Ellerman <mpe@ellerman.id.au>2022-09-05 10:28:27 +0300
commit3d31adc47edb6d0cef122a41fba1b639db5d1c37 (patch)
treed1fdf0c43dfb2ce6a89038fa07f13548be6e06fa /arch/powerpc/sysdev/mpic_msgr.c
parentcd772e659da0ad67f19f022f65449e14ebcf1284 (diff)
downloadlinux-3d31adc47edb6d0cef122a41fba1b639db5d1c37.tar.xz
powerpc/sysdev: Add missing of_node_put()s
Add of_node_put() in various paths to drop references once they are no longer needed. Signed-off-by: Liang He <windhl@126.com> [mpe: Rewrite change log] Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20220620130221.4073228-1-windhl@126.com
Diffstat (limited to 'arch/powerpc/sysdev/mpic_msgr.c')
-rw-r--r--arch/powerpc/sysdev/mpic_msgr.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/arch/powerpc/sysdev/mpic_msgr.c b/arch/powerpc/sysdev/mpic_msgr.c
index 698fefaaa6dd..a439e33eae06 100644
--- a/arch/powerpc/sysdev/mpic_msgr.c
+++ b/arch/powerpc/sysdev/mpic_msgr.c
@@ -121,6 +121,7 @@ static unsigned int mpic_msgr_number_of_blocks(void)
count += 1;
}
+ of_node_put(aliases);
}
return count;
@@ -144,12 +145,18 @@ static int mpic_msgr_block_number(struct device_node *node)
for (index = 0; index < number_of_blocks; ++index) {
struct property *prop;
+ struct device_node *tn;
snprintf(buf, sizeof(buf), "mpic-msgr-block%d", index);
prop = of_find_property(aliases, buf, NULL);
- if (node == of_find_node_by_path(prop->value))
+ tn = of_find_node_by_path(prop->value);
+ if (node == tn) {
+ of_node_put(tn);
break;
+ }
+ of_node_put(tn);
}
+ of_node_put(aliases);
return index == number_of_blocks ? -1 : index;
}