Subject: [PATCH] media: platform: exynos4-is: media-dev: Add missing of_node_put

From: [email-masked] (Krzysztof Kozlowski)
Date: Tue, 26 Jan 2016 15:55:27 +0900

On 26.01.2016 15:24, Julia Lawall wrote:
> 
> 
> On Tue, 26 Jan 2016, Krzysztof Kozlowski wrote:
> 
>> 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:
>>>
>>> // <smpl>
>>> @@
>>> 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
>>> // </smpl>
>>
>> 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
> 
> I don't think so.  The continue one takes care of the case where there is 
> an extraneous of_node_put before a continue, not a missing one before a 
> break.  But OK to drop it if it doesn't seem useful.
> 
> julia

You are right - this is not covered by that cocci patch... but I think
is covered by scripts/coccinelle/iterators/fen.cocci, isn't it?

BR,
Krzysztof

> 
>> This just extends the commit message without any meaningful data so with
>> removal of coccinelle script above:
>> Reviewed-by: Krzysztof Kozlowski <[email-masked]>
>>
>> Best regards,
>> Krzysztof
>>
>>>
>>> Signed-off-by: Amitoj Kaur Chawla <[email-masked]>
>>> ---
>>>  drivers/media/platform/exynos4-is/media-dev.c | 12 +++++++++---
>>>  1 file changed, 9 insertions(+), 3 deletions(-)