Re: [PATCH] soc/tegra: add of_node_put()

From: Jon Hunter
Date: Wed Nov 21 2018 - 08:31:16 EST



On 21/11/2018 12:49, 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.
>
> Signed-off-by: Yangtao Li <tiny.windzz@xxxxxxxxx>
> ---
> drivers/soc/tegra/common.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/soc/tegra/common.c b/drivers/soc/tegra/common.c
> index cd8f41351add..2e30604c9658 100644
> --- a/drivers/soc/tegra/common.c
> +++ b/drivers/soc/tegra/common.c
> @@ -23,10 +23,13 @@ static const struct of_device_id tegra_machine_match[] = {
> bool soc_is_tegra(void)
> {
> struct device_node *root;
> + bool rc;
>
> root = of_find_node_by_path("/");
> if (!root)
> return false;
>
> - return of_match_node(tegra_machine_match, root) != NULL;
> + rc = of_match_node(tegra_machine_match, root) != NULL;
> + of_node_put(root);
> + return rc;
> }

Thanks for the fix, however, I think it would be even simpler just to
call of_machine_is_compatible() here instead.

Cheers
Jon

--
nvpublic