From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756218AbcAZAYn (ORCPT ); Mon, 25 Jan 2016 19:24:43 -0500 Received: from mailout2.w1.samsung.com ([210.118.77.12]:36524 "EHLO mailout2.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752416AbcAZAYl (ORCPT ); Mon, 25 Jan 2016 19:24:41 -0500 X-AuditID: cbfec7f5-f79b16d000005389-7f-56a6bcc547ad Subject: Re: [PATCH] media: platform: exynos4-is: media-dev: Add missing of_node_put To: Amitoj Kaur Chawla , kyungmin.park@samsung.com, s.nawrocki@samsung.com, mchehab@osg.samsung.com, kgene@kernel.org, linux-media@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org References: <20160125152136.GA19484@amitoj-Inspiron-3542> Cc: julia.lawall@lip6.fr From: Krzysztof Kozlowski Message-id: <56A6BCC3.8040407@samsung.com> Date: Tue, 26 Jan 2016 09:24:35 +0900 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-version: 1.0 In-reply-to: <20160125152136.GA19484@amitoj-Inspiron-3542> Content-type: text/plain; charset=windows-1252 Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrCLMWRmVeSWpSXmKPExsVy+t/xK7pH9ywLM7i31tLi0a9FbBbLHpxm tHj9wtCi//FrZouzTW/YLTY9vsZqcXnXHDaLng1bWS1mnN/HZLH6WYXF4TftrA7cHjtn3WX3 2LSqk81j75Ysj81L6j229ANF+rasYvT4vEkugD2KyyYlNSezLLVI3y6BK6N371G2ghNCFR+v v2NsYNzJ18XIySEhYCJx98w1VghbTOLCvfVsXYxcHEICSxkl9qyeyQLhPGWU+LP7JHMXIweH sECYxJEvhiBxEYGpTBI9KzsYQbqFBCwltr5/yAJiMwtISGy5s40ZxGYTMJbYvHwJG4jNK6Al 8X3DajCbRUBVonHzVbBeUYEIicOdXewQNYISPybfA5vDKWAlMXnXD0aQvcwCehL3L2pBjJeX 2LzmLfMERoFZSDpmIVTNQlK1gJF5FaNoamlyQXFSeq6RXnFibnFpXrpecn7uJkZIXHzdwbj0 mNUhRgEORiUeXs7iZWFCrIllxZW5hxglOJiVRHgTNgCFeFMSK6tSi/Lji0pzUosPMUpzsCiJ 887c9T5ESCA9sSQ1OzW1ILUIJsvEwSnVwCjBGrt60/TXxzZlmDy+wPX52ZwtdfvV5s1+Ntfq yJJP79//OZpubf4kgsuiVTDPssJik7hP/Jz/c1abXX4Y/lW49CV3iqzKy0yNz8f0JxkrC0zO axB6IFN5IWW2t3OEJVdjyleOBVWzvFPLlzj0brm5Y8dzrc70vdq/WmqVf3xLOWbPYxkfEKjE UpyRaKjFXFScCABE85FZhwIAAA== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 26.01.2016 00:21, Amitoj Kaur Chawla wrote: > for_each_available_child_of_node and for_each_child_of_node perform an > of_node_get on each iteration, so to break out of the loop an of_node_put is > required. > > Found using Coccinelle. The simplified version of the semantic patch > that is used for this is as follows: > > // > @@ > local idexpression n; > expression e,r; > @@ > > for_each_available_child_of_node(r,n) { > ... > ( > of_node_put(n); > | > e = n > | > + of_node_put(n); > ? break; > ) > ... > } > ... when != n > // Patch iselft looks correct but why are you pasting coccinelle script into the message? The script is already present in Linux kernel: scripts/coccinelle/iterators/device_node_continue.cocci This just extends the commit message without any meaningful data so with removal of coccinelle script above: Reviewed-by: Krzysztof Kozlowski Best regards, Krzysztof > > Signed-off-by: Amitoj Kaur Chawla > --- > drivers/media/platform/exynos4-is/media-dev.c | 12 +++++++++--- > 1 file changed, 9 insertions(+), 3 deletions(-) > > diff --git a/drivers/media/platform/exynos4-is/media-dev.c b/drivers/media/platform/exynos4-is/media-dev.c > index 4f5586a..09f6e54 100644 > --- a/drivers/media/platform/exynos4-is/media-dev.c > +++ b/drivers/media/platform/exynos4-is/media-dev.c > @@ -430,8 +430,10 @@ static int fimc_md_register_sensor_entities(struct fimc_md *fmd) > continue; > > ret = fimc_md_parse_port_node(fmd, port, index); > - if (ret < 0) > + if (ret < 0) { > + of_node_put(node); > goto rpm_put; > + } > index++; > } > > @@ -442,8 +444,10 @@ static int fimc_md_register_sensor_entities(struct fimc_md *fmd) > > for_each_child_of_node(ports, node) { > ret = fimc_md_parse_port_node(fmd, node, index); > - if (ret < 0) > + if (ret < 0) { > + of_node_put(node); > break; > + } > index++; > } > rpm_put: > @@ -651,8 +655,10 @@ static int fimc_md_register_platform_entities(struct fimc_md *fmd, > ret = fimc_md_register_platform_entity(fmd, pdev, > plat_entity); > put_device(&pdev->dev); > - if (ret < 0) > + if (ret < 0) { > + of_node_put(node); > break; > + } > } > > return ret; >