Message ID | 1365490569-32455-1-git-send-email-Yuantian.Tang@freescale.com (mailing list archive) |
---|---|
State | Superseded, archived |
Delegated to: | Grant Likely |
Headers | show |
Hi, On Tue, 9 Apr 2013 14:56:09 +0800 <Yuantian.Tang@freescale.com> wrote: > > From: Tang Yuantian <yuantian.tang@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@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).
> -----Original Message----- > From: Stephen Rothwell [mailto:sfr@canb.auug.org.au] > Sent: 2013年4月10日 17:03 > To: Tang Yuantian-B29983 > Cc: grant.likely@secretlab.ca; devicetree-discuss@lists.ozlabs.org; > linuxppc-dev@lists.ozlabs.org; linux-kernel@vger.kernel.org; > rob.herring@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@freescale.com> wrote: > > > > From: Tang Yuantian <yuantian.tang@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@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@canb.auug.org.au > http://www.canb.auug.org.au/~sfr/
Hi, On Wed, 10 Apr 2013 09:06:11 +0000 Tang Yuantian-B29983 <B29983@freescale.com> wrote: > > Yes, I already sent out the v2 patch. > Please see: http://patchwork.ozlabs.org/patch/235288/ Thanks. I should read all my email before replying to it :-)
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); return 0; }