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