Re: [PATCH] clocksource: Do not drop unheld reference on device node

From: Thierry Reding
Date: Mon Nov 25 2013 - 04:05:34 EST


On Mon, Nov 25, 2013 at 09:57:39AM +0100, Daniel Lezcano wrote:
> On 11/25/2013 08:29 AM, Uwe Kleine-KÃnig wrote:
> >Hello Daniel,
> >
> >On Sun, Nov 24, 2013 at 10:28:15PM +0100, Daniel Lezcano wrote:
> >>On 11/22/2013 08:22 PM, Uwe Kleine-KÃnig wrote:
> >>>On Fri, Nov 22, 2013 at 05:31:46PM +0100, Daniel Lezcano wrote:
> >>>>On 11/22/2013 05:16 PM, Thierry Reding wrote:
> >>>>>On Sat, Oct 19, 2013 at 12:49:48AM +0200, Thierry Reding wrote:
> >>>>Yes. Sounds like I missed it.
> >>>>
> >>>>This regression has been introduced by:
> >>>>
> >>>>commit 326e31eebe61dc838e031ea16968b2cfb43443e3
> >>>>Author: Uwe Kleine-KÃnig <u.kleine-koenig@xxxxxxxxxxxxxx>
> >>>>Date: Tue Oct 1 11:00:53 2013 +0200
> >>>>
> >>>> clocksource: Put nodes passed to CLOCKSOURCE_OF_DECLARE
> >>>>callbacks centrally
> >>>>
> >>>> Instead of letting each driver call of_node_put do it centrally in the
> >>>> loop that also calls the CLOCKSOURCE_OF_DECLARE callbacks. This is less
> >>>> prone to error and also moves getting and putting the references
> >>>>into the
> >>>> same function.
> >>>>
> >>>> Consequently all respective of_node_put calls in drivers are removed.
> >>>>
> >>>> Signed-off-by: Uwe Kleine-KÃnig <u.kleine-koenig@xxxxxxxxxxxxxx>
> >>>> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
> >>>> Acked-by: David Brown <davidb@xxxxxxxxxxxxxx>
> >>>Still all but the hook in clocksource_of_init of this commit was
> >>>correct, right? (Well, but this buggy hunk makes the commit log wrong.)
> >>
> >>I don't understand your comment, can you elaborate ?
> >My patch added an of_node_put in clocksource_of_init and dropped several
> >of_node_puts in drivers. This thread is about the first being wrong. My
> >question was if dropping the others was correct.
>
> Yes, Thierry's patch removes the of_node_puts but I am also wondering if we
> shouldn't just revert the patch 326e31eebe61dc838e instead.

I don't think that's necessary. Dropping the other of_node_put()s looks
like the right thing to do. They drop a reference that they haven't
taken themselves, which is usually not correct. I can't find anything
wrong with the rest of that commit.

Thierry

Attachment: pgp00000.pgp
Description: PGP signature