Re: [PATCH v1 28/28] leds: sgm3140: Put fwnode in any case during ->probe()

From: Andy Shevchenko
Date: Fri May 28 2021 - 07:00:00 EST


On Fri, May 28, 2021 at 12:14:54PM +0200, Pavel Machek wrote:
> Hi!
>
> > fwnode_get_next_child_node() bumps a reference counting of a returned variable.
> > We have to balance it whenever we return to the caller.
>
> This (and similar) -- in half of the drivers we hold the handle from
> successful probe. Is it a problem and why is it problem only for some
> drivers?

Hmm... I'm not sure I have understood the question correctly. Any examples of
the driver that you think needs some attention?

In general the idea is that these kind of for-loops or getting next fwnode
should be balanced.

In case of for-loops the error or any other breakage means that reference count
is bumped, for the get_next API it's always the case.

I have checked between drivers and only considered above cases. Wherever there
is a for-loop which isn't broken, we are fine. Wherever we have explicit
reference counter drop for get_next cases, we are fine. If (any) framework
requires the resource to be present that framework should bump and drop
reference count on the resource by itself (so I split LED framework out from
the consideration and consider that it does the right things)

> Thanks for series, btw, I pushed out current version of the tree.

Should I rebase the new version on something I can find in your Git tree?

--
With Best Regards,
Andy Shevchenko