In omap4_twl_init(), we should hold the reference returned from of_find_compatible_node() which has increased the refcount and then call of_node_put() with it when done. Fixes: ccd369455a23 ("ARM: OMAP2+: Remove bogus warnings for machines without twl PMIC") Signed-off-by: Liang He <windhl@xxxxxxx> Signed-off-by: Mengda Chen <chenmengda2009@xxxxxxx> --- arch/arm/mach-omap2/omap_twl.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-omap2/omap_twl.c b/arch/arm/mach-omap2/omap_twl.c index d4dab041324d..07b5f17066ce 100644 --- a/arch/arm/mach-omap2/omap_twl.c +++ b/arch/arm/mach-omap2/omap_twl.c @@ -213,11 +213,13 @@ static struct omap_voltdm_pmic omap4_core_pmic = { int __init omap4_twl_init(void) { struct voltagedomain *voltdm; + struct device_node *np; if (!cpu_is_omap44xx() || - of_find_compatible_node(NULL, NULL, "motorola,cpcap")) + (np = of_find_compatible_node(NULL, NULL, "motorola,cpcap"))) { + of_node_put(np); return -ENODEV; - + } voltdm = voltdm_lookup("mpu"); omap_voltage_register_pmic(voltdm, &omap4_mpu_pmic); -- 2.25.1