mirror of https://gitee.com/openkylin/linux.git
[media] media: platform: exynos4-is: media-dev: Add missing of_node_put
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> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@gmail.com> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:
parent
0ede1876f7
commit
458a395235
|
@ -435,8 +435,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++;
|
||||
}
|
||||
|
||||
|
@ -447,8 +449,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:
|
||||
|
@ -656,8 +660,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;
|
||||
|
|
Loading…
Reference in New Issue