From patchwork Wed Nov 15 09:44:58 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Johan Hovold X-Patchwork-Id: 838129 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-tegra-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="awqNryuG"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3ycKH42xJNz9s7M for ; Wed, 15 Nov 2017 20:45:04 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756853AbdKOJpD (ORCPT ); Wed, 15 Nov 2017 04:45:03 -0500 Received: from mail-lf0-f67.google.com ([209.85.215.67]:51745 "EHLO mail-lf0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756173AbdKOJpB (ORCPT ); Wed, 15 Nov 2017 04:45:01 -0500 Received: by mail-lf0-f67.google.com with SMTP id f134so17168755lfg.8; Wed, 15 Nov 2017 01:45:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id; bh=m8sowtHtnqqOrCJEE34BvQlqUsWiUsDc9SbuP+/8I78=; b=awqNryuGFrUR2OdvX+E26RTAgETEVNA8n/EmN1NTiToR9NNw+jV1oX2ix5HzRQNfgb aicNwT2yyYfqtHPK2ZU+L3HYk5PiamFI8XU+gh6RmNHmf8ABSTOEXyeiIjXjUVGZnNNp BzgPswK59eFaXHA5Thnd/eCS4aaYxvTG3uTN3mtSqEEMzycLdkQn/FnQFZ44bvEGAam6 wv+iCwuile6QZho6f+1OqUl1x/Tn8X4NWPT87YGmod+zWS2ZIqIVa2jNUl3TSuBPLFvP iqXt2/arsGMvcGAJneyHgVMW7RRtK1gjmTfHoV3dyPrq04b7LtycRTMDZPXP6CweAfIX 2zDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id; bh=m8sowtHtnqqOrCJEE34BvQlqUsWiUsDc9SbuP+/8I78=; b=GvlviAmZA8ISYiutgjguiKLpPGNxpHL0BWFJZiGmylUC2BNOKBarvEH7VWPhqVGMV3 6DuXUjt4n/+sDq0BkzH0o9IYimoP3RxabJGRS2X0i4Y7Q9BIJKekHt0Bl0VBi/4Ub605 F5RSuEYzgrZJnLP0ARNJFgVUymd7mw+5TrttEcG+o1bGk5ajZewF0YYhG6GsMVRV4rzw GcJDP1/Jv21ioR3ZWjoOFAdCBdr2pcP+Q4cGFxyKHKUl3DnyAiRr23tx4ccxoIEYsoSP e1lcRKTcoE9GNW6BfVTOFXayzjcqTKELcYE6pCflvUdNyf/dHyUESUzur1mJKrXTwxjg h7UQ== X-Gm-Message-State: AJaThX5dkei5rWjvmvDjuRdak6c07NrvLTYHYCoGg7IC+fBi9Ep//DUR RfYfvOlHzufgpWfwAQJrtIE= X-Google-Smtp-Source: AGs4zMZBjIixQKMYrUtfpTFUGgqjcnpxd2UdVgWstfLTjhnCg4rISNgyKS7bffe7Y5nqG6bZ5Ed4Ow== X-Received: by 10.46.3.2 with SMTP id 2mr2375640ljd.41.1510739099739; Wed, 15 Nov 2017 01:44:59 -0800 (PST) Received: from xi.terra (c-c0bae655.07-184-6d6c6d4.cust.bredbandsbolaget.se. [85.230.186.192]) by smtp.gmail.com with ESMTPSA id o194sm3685210lfo.72.2017.11.15.01.44.58 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 15 Nov 2017 01:44:58 -0800 (PST) Received: from johan by xi.terra with local (Exim 4.89) (envelope-from ) id 1eEuFk-0008FS-UY; Wed, 15 Nov 2017 10:45:05 +0100 From: Johan Hovold To: Thierry Reding Cc: Jonathan Hunter , linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, Johan Hovold , stable , Mikko Perttunen Subject: [PATCH] soc/tegra: pmc: fix child-node lookup Date: Wed, 15 Nov 2017 10:44:58 +0100 Message-Id: <20171115094458.31666-1-johan@kernel.org> X-Mailer: git-send-email 2.15.0 Sender: linux-tegra-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-tegra@vger.kernel.org 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 # 4.0 Cc: Mikko Perttunen Signed-off-by: Johan Hovold Reviewed-by: Mikko Perttunen --- 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;