ARM: exynos: add missing of_node_put for loop iteration
authorKrzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Sun, 25 Apr 2021 17:49:45 +0000 (19:49 +0200)
committerKrzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Tue, 11 May 2021 12:33:01 +0000 (08:33 -0400)
Early exits from for_each_compatible_node() should decrement the
node reference counter.  Reported by Coccinelle:

  arch/arm/mach-exynos/exynos.c:52:1-25: WARNING:
    Function "for_each_compatible_node" should have of_node_put() before break around line 58.

Fixes: b3205dea8fbf ("ARM: EXYNOS: Map SYSRAM through generic DT bindings")
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20210425174945.164612-1-krzysztof.kozlowski@canonical.com
arch/arm/mach-exynos/exynos.c

index 25b01da..8b48326 100644 (file)
@@ -55,6 +55,7 @@ void __init exynos_sysram_init(void)
                sysram_base_addr = of_iomap(node, 0);
                sysram_base_phys = of_translate_address(node,
                                           of_get_address(node, 0, NULL, NULL));
+               of_node_put(node);
                break;
        }
 
@@ -62,6 +63,7 @@ void __init exynos_sysram_init(void)
                if (!of_device_is_available(node))
                        continue;
                sysram_ns_base_addr = of_iomap(node, 0);
+               of_node_put(node);
                break;
        }
 }