media: davinci: vpif: add missing of_node_put() in vpif_probe()

Message ID 20220511065548.3402408-1-yangyingliang@huawei.com (mailing list archive)
State Accepted
Delegated to: Hans Verkuil
Headers
Series media: davinci: vpif: add missing of_node_put() in vpif_probe() |

Commit Message

Yang Yingliang May 11, 2022, 6:55 a.m. UTC
  of_graph_get_next_endpoint() returns an 'endpoint' node pointer
with refcount incremented. The refcount should be decremented
before returning from vpif_probe().

Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
---
 drivers/media/platform/ti/davinci/vpif.c | 1 +
 1 file changed, 1 insertion(+)
  

Comments

Prabhakar May 18, 2022, 7:39 p.m. UTC | #1
On Wed, May 11, 2022 at 7:44 AM Yang Yingliang <yangyingliang@huawei.com> wrote:
>
> of_graph_get_next_endpoint() returns an 'endpoint' node pointer
> with refcount incremented. The refcount should be decremented
> before returning from vpif_probe().
>
> Reported-by: Hulk Robot <hulkci@huawei.com>
> Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
> ---
>  drivers/media/platform/ti/davinci/vpif.c | 1 +
>  1 file changed, 1 insertion(+)
>
Reviewed-by: Lad Prabhakar <prabhakar.csengg@gmail.com>

Cheers,
Prabhakar

> diff --git a/drivers/media/platform/ti/davinci/vpif.c b/drivers/media/platform/ti/davinci/vpif.c
> index 97ef770266af..da27da4c165a 100644
> --- a/drivers/media/platform/ti/davinci/vpif.c
> +++ b/drivers/media/platform/ti/davinci/vpif.c
> @@ -469,6 +469,7 @@ static int vpif_probe(struct platform_device *pdev)
>                                               endpoint);
>         if (!endpoint)
>                 return 0;
> +       of_node_put(endpoint);
>
>         /*
>          * For DT platforms, manually create platform_devices for
> --
> 2.25.1
>
  

Patch

diff --git a/drivers/media/platform/ti/davinci/vpif.c b/drivers/media/platform/ti/davinci/vpif.c
index 97ef770266af..da27da4c165a 100644
--- a/drivers/media/platform/ti/davinci/vpif.c
+++ b/drivers/media/platform/ti/davinci/vpif.c
@@ -469,6 +469,7 @@  static int vpif_probe(struct platform_device *pdev)
 					      endpoint);
 	if (!endpoint)
 		return 0;
+	of_node_put(endpoint);
 
 	/*
 	 * For DT platforms, manually create platform_devices for