ARM: zynq: Fix refcount leak in zynq_early_slcr_init
authorQiheng Lin <linqiheng@huawei.com>
Tue, 29 Nov 2022 14:05:44 +0000 (22:05 +0800)
committerMichal Simek <michal.simek@amd.com>
Thu, 5 Jan 2023 09:07:43 +0000 (10:07 +0100)
of_find_compatible_node() returns a node pointer with refcount incremented,
we should use of_node_put() on error path.
Add missing of_node_put() to avoid refcount leak.

Fixes: 3329659df030 ("ARM: zynq: Simplify SLCR initialization")
Signed-off-by: Qiheng Lin <linqiheng@huawei.com>
Link: https://lore.kernel.org/r/20221129140544.41293-1-linqiheng@huawei.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
arch/arm/mach-zynq/slcr.c

index 37707614885a5050828b2ae3cd8b480666f346bc..9765b3f4c2fc5f7277732b202e391b8acd4e92bb 100644 (file)
@@ -213,6 +213,7 @@ int __init zynq_early_slcr_init(void)
        zynq_slcr_regmap = syscon_regmap_lookup_by_compatible("xlnx,zynq-slcr");
        if (IS_ERR(zynq_slcr_regmap)) {
                pr_err("%s: failed to find zynq-slcr\n", __func__);
+               of_node_put(np);
                return -ENODEV;
        }