Hi Pantelis, On 01/08/2013 07:31 AM, Pantelis Antoniou wrote: > The iterator correctly handles of_node_put() calls. > Remove it before continue'ing the loop. > Without this patch you get:
Thanks for the fix! May be worth mentioning that this will only be seen with "CONFIG_OF_DYNAMIC" (and explains why I did not catch this one!). > ERROR: Bad of_node_put() on /ocp/timer@44e31000! > [<c001329c>] (unwind_backtrace+0x0/0xe0) from [<c03dd8f0>] > (of_node_release+0x2c/0xa0)! > [<c03dd8f0>] (of_node_release+0x2c/0xa0) from [<c03ddea0>] > (of_find_matching_node_and_match+0x78/0x90)! > [<c03ddea0>] (of_find_matching_node_and_match+0x78/0x90) from [<c06d349c>] > (omap_get_timer_dt+0x78/0x90)! > [<c06d349c>] (omap_get_timer_dt+0x78/0x90) from [<c06d3664>] > (omap_dm_timer_init_one.clone.2+0x34/0x2bc)! > [<c06d3664>] (omap_dm_timer_init_one.clone.2+0x34/0x2bc) from [<c06d3a2c>] > (omap2_gptimer_clocksource_init.clone.4+0x24/0xa8)! > [<c06d3a2c>] (omap2_gptimer_clocksource_init.clone.4+0x24/0xa8) from > [<c06cca58>] (time_init+0x20/0x30)! > [<c06cca58>] (time_init+0x20/0x30) from [<c06c9690>] > (start_kernel+0x1a8/0x2fc)! > > Signed-off-by: Pantelis Antoniou <pa...@antoniou-consulting.com> > --- > arch/arm/mach-omap2/timer.c | 8 ++------ > 1 file changed, 2 insertions(+), 6 deletions(-) > > diff --git a/arch/arm/mach-omap2/timer.c b/arch/arm/mach-omap2/timer.c > index 691aa67..b8ad6e6 100644 > --- a/arch/arm/mach-omap2/timer.c > +++ b/arch/arm/mach-omap2/timer.c > @@ -165,15 +165,11 @@ static struct device_node * __init > omap_get_timer_dt(struct of_device_id *match, > struct device_node *np; > > for_each_matching_node(np, match) { > - if (!of_device_is_available(np)) { > - of_node_put(np); > + if (!of_device_is_available(np)) > continue; > - } > > - if (property && !of_get_property(np, property, NULL)) { > - of_node_put(np); > + if (property && !of_get_property(np, property, NULL)) > continue; > - } > > of_add_property(np, &device_disabled); > return np; Otherwise ... Acked-by: Jon Hunter <jon-hun...@ti.com> Cheers Jon -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html