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@vger.kernel.org # 4.0 Cc: Mikko Perttunen mperttunen@nvidia.com Signed-off-by: Johan Hovold johan@kernel.org --- 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;
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@vger.kernel.org # 4.0 Cc: Mikko Perttunen mperttunen@nvidia.com Signed-off-by: Johan Hovold johan@kernel.org
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@nvidia.com
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@vger.kernel.org # 4.0 Cc: Mikko Perttunen mperttunen@nvidia.com Signed-off-by: Johan Hovold johan@kernel.org
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@nvidia.com
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
On Fri, Jan 12, 2018 at 10:19:51AM +0100, Johan Hovold wrote:
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@vger.kernel.org # 4.0 Cc: Mikko Perttunen mperttunen@nvidia.com Signed-off-by: Johan Hovold johan@kernel.org
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@nvidia.com
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?
Another two months, another reminder; Thierry, can you pick this fix up? It's got Mikko's ack.
Mikko, can you please ping Thierry in case I'm getting stuck in his spam filter or something?
Thanks, Johan
On Wed, Nov 15, 2017 at 10:44:58AM +0100, 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@vger.kernel.org # 4.0 Cc: Mikko Perttunen mperttunen@nvidia.com Signed-off-by: Johan Hovold johan@kernel.org
drivers/soc/tegra/pmc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Applied, thanks.
Thierry
Hi Thierry,
On Thu, Mar 22, 2018 at 03:24:32PM +0100, Thierry Reding wrote:
On Wed, Nov 15, 2017 at 10:44:58AM +0100, 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@vger.kernel.org # 4.0 Cc: Mikko Perttunen mperttunen@nvidia.com Signed-off-by: Johan Hovold johan@kernel.org
drivers/soc/tegra/pmc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Applied, thanks.
I noticed this one still hasn't made it into linux-next. Looks like it wasn't included in you 4.17 pull request and is still sitting in the tegra for-4.17/soc branch.
Johan
linux-stable-mirror@lists.linaro.org