+++ /dev/null
-From 6ac7dd3a73d83b71b57b74d2fcee9ff4d6b5a716 Mon Sep 17 00:00:00 2001
-From: Wen Yang <wen.yang99@zte.com.cn>
-Date: Mon, 6 May 2019 03:05:15 -0400
-Subject: media: venus: firmware: fix leaked of_node references
-
-[ Upstream commit 2c41cc0be07b5ee2f1167f41cd8a86fc5b53d82c ]
-
-The call to of_parse_phandle returns a node pointer with refcount
-incremented thus it must be explicitly decremented after the last
-usage.
-
-Detected by coccinelle with the following warnings:
-drivers/media/platform/qcom/venus/firmware.c:90:2-8: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 82, but without a corresponding object release within this function.
-drivers/media/platform/qcom/venus/firmware.c:94:2-8: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 82, but without a corresponding object release within this function.
-drivers/media/platform/qcom/venus/firmware.c:128:1-7: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 82, but without a corresponding object release within this function.
-
-Signed-off-by: Wen Yang <wen.yang99@zte.com.cn>
-Acked-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
-Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/media/platform/qcom/venus/firmware.c | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/media/platform/qcom/venus/firmware.c b/drivers/media/platform/qcom/venus/firmware.c
-index 6cfa8021721e..f81449b400c4 100644
---- a/drivers/media/platform/qcom/venus/firmware.c
-+++ b/drivers/media/platform/qcom/venus/firmware.c
-@@ -87,11 +87,11 @@ static int venus_load_fw(struct venus_core *core, const char *fwname,
-
- ret = of_address_to_resource(node, 0, &r);
- if (ret)
-- return ret;
-+ goto err_put_node;
-
- ret = request_firmware(&mdt, fwname, dev);
- if (ret < 0)
-- return ret;
-+ goto err_put_node;
-
- fw_size = qcom_mdt_get_size(mdt);
- if (fw_size < 0) {
-@@ -125,6 +125,8 @@ static int venus_load_fw(struct venus_core *core, const char *fwname,
- memunmap(mem_va);
- err_release_fw:
- release_firmware(mdt);
-+err_put_node:
-+ of_node_put(node);
- return ret;
- }
-
---
-2.20.1
-