lkml.org 
[lkml]   [2022]   [Aug]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.19 0287/1157] perf: RISC-V: Add of_node_put() when breaking out of for_each_of_cpu_node()
    Date
    From: Liang He <windhl@126.com>

    [ Upstream commit 491f10d08fdae10a177edf6af4f43b83b293114b ]

    In pmu_sbi_setup_irqs(), we should call of_node_put() for the 'cpu'
    when breaking out of for_each_of_cput_node() as its refcount will
    be automatically increased and decreased during the iteration.

    Fixes: 4905ec2fb7e6 ("RISC-V: Add sscofpmf extension support")
    Signed-off-by: Liang He <windhl@126.com>
    Reviewed-by: Atish Patra <atishp@rivosinc.com>
    Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
    Link: https://lore.kernel.org/r/20220715130330.443363-1-windhl@126.com
    Signed-off-by: Will Deacon <will@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/perf/riscv_pmu_sbi.c | 5 ++++-
    1 file changed, 4 insertions(+), 1 deletion(-)

    diff --git a/drivers/perf/riscv_pmu_sbi.c b/drivers/perf/riscv_pmu_sbi.c
    index bae614c73b14..231d86d3949c 100644
    --- a/drivers/perf/riscv_pmu_sbi.c
    +++ b/drivers/perf/riscv_pmu_sbi.c
    @@ -682,12 +682,15 @@ static int pmu_sbi_setup_irqs(struct riscv_pmu *pmu, struct platform_device *pde
    child = of_get_compatible_child(cpu, "riscv,cpu-intc");
    if (!child) {
    pr_err("Failed to find INTC node\n");
    + of_node_put(cpu);
    return -ENODEV;
    }
    domain = irq_find_host(child);
    of_node_put(child);
    - if (domain)
    + if (domain) {
    + of_node_put(cpu);
    break;
    + }
    }
    if (!domain) {
    pr_err("Failed to find INTC IRQ root domain\n");
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-08-16 01:11    [W:5.487 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site