]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ARM: OMAP2+: pm33xx-core: ix device node reference leaks in amx3_idle_init
authorMiaoqian Lin <linmq006@gmail.com>
Tue, 2 Sep 2025 07:59:43 +0000 (15:59 +0800)
committerKevin Hilman <khilman@baylibre.com>
Fri, 5 Sep 2025 21:45:36 +0000 (14:45 -0700)
Add missing of_node_put() calls to release
device node references obtained via of_parse_phandle().

Fixes: 06ee7a950b6a ("ARM: OMAP2+: pm33xx-core: Add cpuidle_ops for am335x/am437x")
Cc: stable@vger.kernel.org
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Link: https://lore.kernel.org/r/20250902075943.2408832-1-linmq006@gmail.com
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
arch/arm/mach-omap2/pm33xx-core.c

index c907478be196ede8d6367706ca8a8d310bfa6292..4abb86dc98fdac51938e9d007c8401dfd672e4fc 100644 (file)
@@ -388,12 +388,15 @@ static int __init amx3_idle_init(struct device_node *cpu_node, int cpu)
                if (!state_node)
                        break;
 
-               if (!of_device_is_available(state_node))
+               if (!of_device_is_available(state_node)) {
+                       of_node_put(state_node);
                        continue;
+               }
 
                if (i == CPUIDLE_STATE_MAX) {
                        pr_warn("%s: cpuidle states reached max possible\n",
                                __func__);
+                       of_node_put(state_node);
                        break;
                }
 
@@ -403,6 +406,7 @@ static int __init amx3_idle_init(struct device_node *cpu_node, int cpu)
                        states[state_count].wfi_flags |= WFI_FLAG_WAKE_M3 |
                                                         WFI_FLAG_FLUSH_CACHE;
 
+               of_node_put(state_node);
                state_count++;
        }