Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp2418273imu; Sun, 13 Jan 2019 01:28:54 -0800 (PST) X-Google-Smtp-Source: ALg8bN4UYE5S99FmOp//9JmOQwEHkMauA809ItJ3cv5njxlrTMKZERTANe8P0XrMJyIng9JhsRP/ X-Received: by 2002:a63:5026:: with SMTP id e38mr19256979pgb.123.1547371734302; Sun, 13 Jan 2019 01:28:54 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1547371734; cv=none; d=google.com; s=arc-20160816; b=itpbfbgBCmZXNisUoNwNcNGAD+EV4VZTZLa/fLcos/4i7TfrReKxGn79lfPze4F+T+ CS1KbLDqGeQuBvvQ83d+xrvwHUWhnciKPRL3wYDFEFPOrc73xrUzcwCcIrefjFHLmv7+ Va3j0ew8tdyGQb1VwehH86kHJiQJIZZYQ/hjCM7t4achO25Nl6pxonsu2Zgxv1pjLNl2 o4hqdBC88JI1xS9xZ0Y+jKKIMYIsUB627ndam3n2rbAhZP/N+IkIoqqwrUK5jB148gp8 ZGRyI6fEBDEJqlpmIDBAD/IVp1Ag/olo0fXXcisZ3JVLvdlWrNg+wlBr5oQX/ECrjebB Xl8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=FvoK6LQocvCUdsApkXjsTyLTM5yqQpgWWFYqorQS+y0=; b=V0BOWWhilLEc9zK7yt+ULYFyN1SaxaYyTMkN2TMY4fLJuu9cQYCiU4hmj7fw4ibsVG K9HaVpW0w74tzTMSa+H9MxXb97fvUxunCYWwQqYL52KWkFwZjAKYgJG69eC78YxqFa/8 ybwuc6Gjj5H3fQp/JoG/xFk+zOsxC+5JE8mBReNPiNdxgQ8zOA1NMj2QoCsQ5EYbiDGA RYIggO/LP5aiZtO5WzxeN5ifAIuzKmGcTrL6rHZuQVQANRVIUhxkAe+F+RU5uVfxwrwF 7qVwt1yja+WXWvLhw4dA0qe6Hyekptb7VPJMASe9l5HlybIp1BV0xl9xCMhRYrOc4ppE TB9A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k5si31211448pfj.153.2019.01.13.01.28.08; Sun, 13 Jan 2019 01:28:54 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726568AbfAMJYx (ORCPT + 99 others); Sun, 13 Jan 2019 04:24:53 -0500 Received: from mail3-relais-sop.national.inria.fr ([192.134.164.104]:60651 "EHLO mail3-relais-sop.national.inria.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726537AbfAMJYw (ORCPT ); Sun, 13 Jan 2019 04:24:52 -0500 X-IronPort-AV: E=Sophos;i="5.56,473,1539640800"; d="scan'208";a="291725801" Received: from palace.lip6.fr ([132.227.105.202]) by mail3-relais-sop.national.inria.fr with ESMTP/TLS/AES128-SHA256; 13 Jan 2019 10:24:47 +0100 From: Julia Lawall To: Sandy Huang Cc: kernel-janitors@vger.kernel.org, =?UTF-8?q?Heiko=20St=C3=BCbner?= , David Airlie , Daniel Vetter , dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 3/4] drm/rockchip: add missing of_node_put Date: Sun, 13 Jan 2019 09:47:43 +0100 Message-Id: <1547369264-24831-4-git-send-email-Julia.Lawall@lip6.fr> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1547369264-24831-1-git-send-email-Julia.Lawall@lip6.fr> References: <1547369264-24831-1-git-send-email-Julia.Lawall@lip6.fr> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The device node iterators perform an of_node_get on each iteration, so a jump out of the loop requires an of_node_put. The semantic patch that fixes this problem is as follows (http://coccinelle.lip6.fr): // @@ expression root,e; local idexpression child; iterator name for_each_child_of_node; @@ for_each_child_of_node(root, child) { ... when != of_node_put(child) when != e = child + of_node_put(child); ? break; ... } ... when != child // Signed-off-by: Julia Lawall --- drivers/gpu/drm/rockchip/rockchip_rgb.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/rockchip/rockchip_rgb.c b/drivers/gpu/drm/rockchip/rockchip_rgb.c index 96ac145..37f9302 100644 --- a/drivers/gpu/drm/rockchip/rockchip_rgb.c +++ b/drivers/gpu/drm/rockchip/rockchip_rgb.c @@ -113,8 +113,10 @@ struct rockchip_rgb *rockchip_rgb_init(struct device *dev, child_count++; ret = drm_of_find_panel_or_bridge(dev->of_node, 0, endpoint_id, &panel, &bridge); - if (!ret) + if (!ret) { + of_node_put(endpoint); break; + } } of_node_put(port);