diff mbox series

arm: omap2: cm_common: Fix refcount balance bugs

Message ID 20220701115045.233729-1-windhl@126.com (mailing list archive)
State New, archived
Headers show
Series arm: omap2: cm_common: Fix refcount balance bugs | expand

Commit Message

Liang He July 1, 2022, 11:50 a.m. UTC
In omap2_cm_base_init(), for_each_matching_node_and_match() will
keep refcount balance. However, there is a reference escape into
data->np, so we should use the of_node_put() for the old reference
and of_node_get() for the new reference.

Signed-off-by: Liang He <windhl@126.com>
---
 arch/arm/mach-omap2/cm_common.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/arch/arm/mach-omap2/cm_common.c b/arch/arm/mach-omap2/cm_common.c
index 87f2c2d2d754..9d5d92d00484 100644
--- a/arch/arm/mach-omap2/cm_common.c
+++ b/arch/arm/mach-omap2/cm_common.c
@@ -339,7 +339,8 @@  int __init omap2_cm_base_init(void)
 			mem->offset = data->offset;
 		}
 
-		data->np = np;
+		of_node_put(data->np);
+		data->np = of_node_get(np);
 
 		if (data->init && (data->flags & CM_SINGLE_INSTANCE ||
 				   (cm_base.va && cm2_base.va)))