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@xxxxxxxxx> --- drivers/media/platform/coda/coda-common.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/media/platform/coda/coda-common.c b/drivers/media/platform/coda/coda-common.c index 0e312b0842d7..579849082488 100644 --- a/drivers/media/platform/coda/coda-common.c +++ b/drivers/media/platform/coda/coda-common.c @@ -405,9 +405,13 @@ static struct vdoa_data *coda_get_vdoa_data(void) goto out; vdoa_data = platform_get_drvdata(vdoa_pdev); - if (!vdoa_data) + if (!vdoa_data) { vdoa_data = ERR_PTR(-EPROBE_DEFER); + goto put; + } +put: + put_device(&vdoa_pdev->dev); out: of_node_put(vdoa_node); -- 2.17.1