In fimc_md_parse_port_node() remote port parent node is get with
of_graph_get_remote_port_parent() but it is not put on error path.

Fixes: fa91f1056f17 ("[media] exynos4-is: Add support for asynchronous 
subdevices registration")
Signed-off-by: Krzysztof Kozlowski <[email protected]>

---

Not tested on hardware, only built+static checkers.
---
 drivers/media/platform/exynos4-is/media-dev.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/media/platform/exynos4-is/media-dev.c 
b/drivers/media/platform/exynos4-is/media-dev.c
index de0977479327..d2e564878e06 100644
--- a/drivers/media/platform/exynos4-is/media-dev.c
+++ b/drivers/media/platform/exynos4-is/media-dev.c
@@ -385,8 +385,10 @@ static int fimc_md_parse_port_node(struct fimc_md *fmd,
        else
                pd->fimc_bus_type = pd->sensor_bus_type;
 
-       if (WARN_ON(index >= ARRAY_SIZE(fmd->sensor)))
+       if (WARN_ON(index >= ARRAY_SIZE(fmd->sensor))) {
+               of_node_put(rem);
                return -EINVAL;
+       }
 
        fmd->sensor[index].asd.match_type = V4L2_ASYNC_MATCH_OF;
        fmd->sensor[index].asd.match.of.node = rem;
-- 
1.9.1

Reply via email to