[PATCH] of: remove the unnecessary of_node_put for of_parse_phandle_with_args()

Tang Yuantian-B29983 B29983 at freescale.com
Wed Apr 10 19:06:11 EST 2013


> -----Original Message-----
> From: Stephen Rothwell [mailto:sfr at canb.auug.org.au]
> Sent: 2013年4月10日 17:03
> To: Tang Yuantian-B29983
> Cc: grant.likely at secretlab.ca; devicetree-discuss at lists.ozlabs.org;
> linuxppc-dev at lists.ozlabs.org; linux-kernel at vger.kernel.org;
> rob.herring at calxeda.com
> Subject: Re: [PATCH] of: remove the unnecessary of_node_put for
> of_parse_phandle_with_args()
> 
> Hi,
> 
> On Tue, 9 Apr 2013 14:56:09 +0800 <Yuantian.Tang at freescale.com> wrote:
> >
> > From: Tang Yuantian <yuantian.tang at freescale.com>
> >
> > As the function itself says it is caller's responsibility to call the
> > of_node_put().  So, remove it on success to keep the reference count
> > correct.
> >
> > Signed-off-by: Tang Yuantian <Yuantian.Tang at freescale.com>
> > ---
> >  drivers/of/base.c | 3 ---
> >  1 file changed, 3 deletions(-)
> >
> > diff --git a/drivers/of/base.c b/drivers/of/base.c index
> > 321d3ef..e8b4c28 100644
> > --- a/drivers/of/base.c
> > +++ b/drivers/of/base.c
> > @@ -1168,9 +1168,6 @@ static int __of_parse_phandle_with_args(const
> struct device_node *np,
> >  					out_args->args[i] = be32_to_cpup(list++);
> >  			}
> >
> > -			/* Found it! return success */
> > -			if (node)
> > -				of_node_put(node);
> 
> Actually, if out_args is NULL, you should do the of_node_put(node), so
> probably the correct fix is to add an "else" before the above "if" (and
> move the comment).
> 

Yes, I already sent out the v2 patch.
Please see: http://patchwork.ozlabs.org/patch/235288/

Regards,
Yuantian

> --
> Cheers,
> Stephen Rothwell                    sfr at canb.auug.org.au
> http://www.canb.auug.org.au/~sfr/


More information about the Linuxppc-dev mailing list