All of lore.kernel.org
 help / color / mirror / Atom feed
From: Benoit Parrot <bparrot@ti.com>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: <linux-media@vger.kernel.org>,
	Prabhakar Lad <prabhakar.csengg@gmail.com>
Subject: Re: [PATCH] media: am437x: Don't release OF node reference twice
Date: Mon, 23 Feb 2015 11:21:02 -0600	[thread overview]
Message-ID: <20150223172102.GE31059@ti.com> (raw)
In-Reply-To: <1424702961-2349-1-git-send-email-laurent.pinchart@ideasonboard.com>

Thanks for the patch.

Acked-by: Benoit Parrot <bparrot@ti.com>

Laurent Pinchart <laurent.pinchart@ideasonboard.com> wrote on Mon [2015-Feb-23 16:49:21 +0200]:
> The remote port reference is released both at the end of the OF graph
> parsing loop, and in the error code path at the end of the function.
> Those two calls will release the same reference, causing the reference
> count to go negative.
> 
> Fix the problem by removing the second call.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---
>  drivers/media/platform/am437x/am437x-vpfe.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> I've found this issue while reading the code, the patch hasn't been tested.
> 
> diff --git a/drivers/media/platform/am437x/am437x-vpfe.c b/drivers/media/platform/am437x/am437x-vpfe.c
> index 56a5cb0..ce273b2 100644
> --- a/drivers/media/platform/am437x/am437x-vpfe.c
> +++ b/drivers/media/platform/am437x/am437x-vpfe.c
> @@ -2425,7 +2425,7 @@ static int vpfe_async_complete(struct v4l2_async_notifier *notifier)
>  static struct vpfe_config *
>  vpfe_get_pdata(struct platform_device *pdev)
>  {
> -	struct device_node *endpoint = NULL, *rem = NULL;
> +	struct device_node *endpoint = NULL;
>  	struct v4l2_of_endpoint bus_cfg;
>  	struct vpfe_subdev_info *sdinfo;
>  	struct vpfe_config *pdata;
> @@ -2443,6 +2443,8 @@ vpfe_get_pdata(struct platform_device *pdev)
>  		return NULL;
>  
>  	for (i = 0; ; i++) {
> +		struct device_node *rem;
> +
>  		endpoint = of_graph_get_next_endpoint(pdev->dev.of_node,
>  						      endpoint);
>  		if (!endpoint)
> @@ -2513,7 +2515,6 @@ vpfe_get_pdata(struct platform_device *pdev)
>  
>  done:
>  	of_node_put(endpoint);
> -	of_node_put(rem);
>  	return NULL;
>  }
>  
> -- 
> Regards,
> 
> Laurent Pinchart
> 

      parent reply	other threads:[~2015-02-23 17:21 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-23 14:49 [PATCH] media: am437x: Don't release OF node reference twice Laurent Pinchart
2015-02-23 15:30 ` Lad, Prabhakar
2015-02-23 17:21 ` Benoit Parrot [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150223172102.GE31059@ti.com \
    --to=bparrot@ti.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=prabhakar.csengg@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.