Re: [PATCH] soc/tegra: pmc: fix child-node lookup

From: Johan Hovold
Date: Fri Jan 12 2018 - 04:20:06 EST


On Thu, Nov 16, 2017 at 01:40:24PM +0200, Mikko Perttunen wrote:
> On 15.11.2017 11:44, Johan Hovold wrote:
> > Fix child-node lookup during probe, which ended up searching the whole
> > device tree depth-first starting at the parent rather than just matching
> > on its children.
> >
> > To make things worse, the parent pmc node could end up being prematurely
> > freed as of_find_node_by_name() drops a reference to its first argument.
> >
> > Fixes: 3568df3d31d6 ("soc: tegra: Add thermal reset (thermtrip) support to PMC")
> > Cc: stable <stable@xxxxxxxxxxxxxxx> # 4.0
> > Cc: Mikko Perttunen <mperttunen@xxxxxxxxxx>
> > Signed-off-by: Johan Hovold <johan@xxxxxxxxxx>
> > ---
> > drivers/soc/tegra/pmc.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/soc/tegra/pmc.c b/drivers/soc/tegra/pmc.c
> > index 0453ff6839a7..7e9ef3431bea 100644
> > --- a/drivers/soc/tegra/pmc.c
> > +++ b/drivers/soc/tegra/pmc.c
> > @@ -1321,7 +1321,7 @@ static void tegra_pmc_init_tsense_reset(struct tegra_pmc *pmc)
> > if (!pmc->soc->has_tsense_reset)
> > return;
> >
> > - np = of_find_node_by_name(pmc->dev->of_node, "i2c-thermtrip");
> > + np = of_get_child_by_name(pmc->dev->of_node, "i2c-thermtrip");
> > if (!np) {
> > dev_warn(dev, "i2c-thermtrip node not found, %s.\n", disabled);
> > return;
> >
>
> Good find!
>
> Reviewed-by: Mikko Perttunen <mperttunen@xxxxxxxxxx>

This one still hasn't made it to linux-next so figured I'd send a
reminder. Will you be picking this one up for 4.16, Thierry?

Thanks,
Johan