| From 27e8693525113004ecbf519691f007db0ccb6f8a Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 28 Apr 2022 10:43:06 +0000 |
| Subject: ARM: hisi: Add missing of_node_put after of_find_compatible_node |
| |
| From: Peng Wu <wupeng58@huawei.com> |
| |
| [ Upstream commit 9bc72e47d4630d58a840a66a869c56b29554cfe4 ] |
| |
| of_find_compatible_node will increment the refcount of the returned |
| device_node. Calling of_node_put() to avoid the refcount leak |
| |
| Signed-off-by: Peng Wu <wupeng58@huawei.com> |
| Signed-off-by: Wei Xu <xuwei5@hisilicon.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| arch/arm/mach-hisi/platsmp.c | 4 ++++ |
| 1 file changed, 4 insertions(+) |
| |
| diff --git a/arch/arm/mach-hisi/platsmp.c b/arch/arm/mach-hisi/platsmp.c |
| index e1d67648d5d0..fccceab33325 100644 |
| --- a/arch/arm/mach-hisi/platsmp.c |
| +++ b/arch/arm/mach-hisi/platsmp.c |
| @@ -70,14 +70,17 @@ static void __init hi3xxx_smp_prepare_cpus(unsigned int max_cpus) |
| } |
| ctrl_base = of_iomap(np, 0); |
| if (!ctrl_base) { |
| + of_node_put(np); |
| pr_err("failed to map address\n"); |
| return; |
| } |
| if (of_property_read_u32(np, "smp-offset", &offset) < 0) { |
| + of_node_put(np); |
| pr_err("failed to find smp-offset property\n"); |
| return; |
| } |
| ctrl_base += offset; |
| + of_node_put(np); |
| } |
| } |
| |
| @@ -163,6 +166,7 @@ static int hip01_boot_secondary(unsigned int cpu, struct task_struct *idle) |
| if (WARN_ON(!node)) |
| return -1; |
| ctrl_base = of_iomap(node, 0); |
| + of_node_put(node); |
| |
| /* set the secondary core boot from DDR */ |
| remap_reg_value = readl_relaxed(ctrl_base + REG_SC_CTRL); |
| -- |
| 2.35.1 |
| |