soc: bcm: brcmstb: add of_node_put()
diff mbox series

Message ID 20181121124342.21987-1-tiny.windzz@gmail.com
State New
Headers show
Series
  • soc: bcm: brcmstb: add of_node_put()
Related show

Commit Message

Frank Lee Nov. 21, 2018, 12:43 p.m. UTC
of_find_node_by_path() acquires a reference to the node returned
by it and that reference needs to be dropped by its caller.
bl_idle_init() doesn't do that, so fix it.

Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
---
 drivers/soc/bcm/brcmstb/common.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

Florian Fainelli Nov. 21, 2018, 7:23 p.m. UTC | #1
On 11/21/2018 4:43 AM, Yangtao Li wrote:
> of_find_node_by_path() acquires a reference to the node returned
> by it and that reference needs to be dropped by its caller.
> bl_idle_init() doesn't do that, so fix it.

You probably copied/pasted this from a prior patch, the function name is
soc_is_brcmstb() here, do you mind fixing that and also providing a
Fixes: tag?

Thanks

> 
> Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
> ---
>  drivers/soc/bcm/brcmstb/common.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/soc/bcm/brcmstb/common.c b/drivers/soc/bcm/brcmstb/common.c
> index 14185451901d..95b777fffee6 100644
> --- a/drivers/soc/bcm/brcmstb/common.c
> +++ b/drivers/soc/bcm/brcmstb/common.c
> @@ -32,12 +32,15 @@ static const struct of_device_id brcmstb_machine_match[] = {
>  bool soc_is_brcmstb(void)
>  {
>  	struct device_node *root;
> +	bool rc;
>  
>  	root = of_find_node_by_path("/");
>  	if (!root)
>  		return false;
>  
> -	return of_match_node(brcmstb_machine_match, root) != NULL;
> +	rc = of_match_node(brcmstb_machine_match, root) != NULL;
> +	of_node_put(root);
> +	return rc;
>  }
>  
>  u32 brcmstb_get_family_id(void)
>
Frank Lee Nov. 22, 2018, 12:55 a.m. UTC | #2
On Thu, Nov 22, 2018 at 3:23 AM Florian Fainelli <f.fainelli@gmail.com> wrote:
>
>
>
> On 11/21/2018 4:43 AM, Yangtao Li wrote:
> > of_find_node_by_path() acquires a reference to the node returned
> > by it and that reference needs to be dropped by its caller.
> > bl_idle_init() doesn't do that, so fix it.
>
> You probably copied/pasted this from a prior patch, the function name is
> soc_is_brcmstb() here, do you mind fixing that and also providing a
> Fixes: tag?
Hi Florian:

Do you need me to send a patch that changed the commit log or refactor
the soc_is_brcmstb()?
For example:
https://lore.kernel.org/patchwork/patch/1015523/

Yours,
    Yangtao
>
> Thanks
>
> >
> > Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
> > ---
> >  drivers/soc/bcm/brcmstb/common.c | 5 ++++-
> >  1 file changed, 4 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/soc/bcm/brcmstb/common.c b/drivers/soc/bcm/brcmstb/common.c
> > index 14185451901d..95b777fffee6 100644
> > --- a/drivers/soc/bcm/brcmstb/common.c
> > +++ b/drivers/soc/bcm/brcmstb/common.c
> > @@ -32,12 +32,15 @@ static const struct of_device_id brcmstb_machine_match[] = {
> >  bool soc_is_brcmstb(void)
> >  {
> >       struct device_node *root;
> > +     bool rc;
> >
> >       root = of_find_node_by_path("/");
> >       if (!root)
> >               return false;
> >
> > -     return of_match_node(brcmstb_machine_match, root) != NULL;
> > +     rc = of_match_node(brcmstb_machine_match, root) != NULL;
> > +     of_node_put(root);
> > +     return rc;
> >  }
> >
> >  u32 brcmstb_get_family_id(void)
> >
>
> --
> Florian

Patch
diff mbox series

diff --git a/drivers/soc/bcm/brcmstb/common.c b/drivers/soc/bcm/brcmstb/common.c
index 14185451901d..95b777fffee6 100644
--- a/drivers/soc/bcm/brcmstb/common.c
+++ b/drivers/soc/bcm/brcmstb/common.c
@@ -32,12 +32,15 @@  static const struct of_device_id brcmstb_machine_match[] = {
 bool soc_is_brcmstb(void)
 {
 	struct device_node *root;
+	bool rc;
 
 	root = of_find_node_by_path("/");
 	if (!root)
 		return false;
 
-	return of_match_node(brcmstb_machine_match, root) != NULL;
+	rc = of_match_node(brcmstb_machine_match, root) != NULL;
+	of_node_put(root);
+	return rc;
 }
 
 u32 brcmstb_get_family_id(void)