ASoC: SOF: mediatek: Add missing of_node_put() in platform_parse_resource()
authorYang Yingliang <yangyingliang@huawei.com>
Thu, 25 Nov 2021 07:16:08 +0000 (15:16 +0800)
committerMark Brown <broonie@kernel.org>
Thu, 25 Nov 2021 11:54:29 +0000 (11:54 +0000)
The node pointer is returned by of_parse_phandle() with
refcount incremented in platform_parse_resource(). Calling
of_node_put() to aovid the refcount leak.

Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Link: https://lore.kernel.org/r/20211125071608.3056715-1-yangyingliang@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/mediatek/mt8195/mt8195.c

index 40e5a25875a6a93c1256a4be7ffe56c3f0cf2f88..55d9812870a450bbb00129643b261d38c584961b 100644 (file)
@@ -43,6 +43,7 @@ static int platform_parse_resource(struct platform_device *pdev, void *data)
        }
 
        ret = of_address_to_resource(mem_region, 0, &res);
+       of_node_put(mem_region);
        if (ret) {
                dev_err(dev, "of_address_to_resource dma failed\n");
                return ret;
@@ -64,6 +65,7 @@ static int platform_parse_resource(struct platform_device *pdev, void *data)
        }
 
        ret = of_address_to_resource(mem_region, 0, &res);
+       of_node_put(mem_region);
        if (ret) {
                dev_err(dev, "of_address_to_resource sysmem failed\n");
                return ret;