Hi Peter, On Fri, Jul 1, 2016 at 11:41 AM, Peter Chen <peter.chen@xxxxxxx> wrote: > of_node_put needs to be called when the device node which is got > from of_parse_phandle has finished using. > > Cc: Simon Horman <horms@xxxxxxxxxxxx> > Cc: Magnus Damm <magnus.damm@xxxxxxxxx> > Signed-off-by: Peter Chen <peter.chen@xxxxxxx> NAKed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> > --- a/arch/arm/mach-shmobile/pm-rmobile.c > +++ b/arch/arm/mach-shmobile/pm-rmobile.c > @@ -209,6 +209,7 @@ static void __init add_special_pd(struct device_node *np, enum pd_types type) > special_pds[num_special_pds].pd = pd; The pd pointer is stored in the line above, and released later in put_special_pds(). > special_pds[num_special_pds].type = type; > num_special_pds++; > + of_node_put(pd); Hence it must not be released here, as that would cause a double release when put_special_pds() is executed. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds