media: coda: Fix missing put_device() call in coda_get_vdoa_data
authorMiaoqian Lin <linmq006@gmail.com>
Wed, 12 Jan 2022 11:05:54 +0000 (12:05 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Apr 2022 07:08:14 +0000 (09:08 +0200)
[ Upstream commit ca85d271531a1e1c86f24b892f57b7d0a3ddb5a6 ]

The reference taken by 'of_find_device_by_node()' must be released when
not needed anymore.
Add the corresponding 'put_device()' in the error handling path.

Fixes: e7f3c5481035 ("[media] coda: use VDOA for un-tiling custom macroblock format")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/media/platform/coda/coda-common.c

index 5b87c488ee111d3ce886ee4f9bf3ca0cdef4b756..993208944aced12719b777de6cfb95d1b6c620b7 100644 (file)
@@ -360,6 +360,7 @@ static struct vdoa_data *coda_get_vdoa_data(void)
        if (!vdoa_data)
                vdoa_data = ERR_PTR(-EPROBE_DEFER);
 
+       put_device(&vdoa_pdev->dev);
 out:
        if (vdoa_node)
                of_node_put(vdoa_node);