Commit a71eb602 authored by Hangyu Hua's avatar Hangyu Hua Committed by Mauro Carvalho Chehab
Browse files

media: rga: fix possible memory leak in rga_probe



rga->m2m_dev needs to be freed when rga_probe fails.

Signed-off-by: default avatarHangyu Hua <hbh25y@gmail.com>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
parent b4e1fb86
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -865,7 +865,7 @@ static int rga_probe(struct platform_device *pdev)

	ret = pm_runtime_resume_and_get(rga->dev);
	if (ret < 0)
		goto rel_vdev;
		goto rel_m2m;

	rga->version.major = (rga_read(rga, RGA_VERSION_INFO) >> 24) & 0xFF;
	rga->version.minor = (rga_read(rga, RGA_VERSION_INFO) >> 20) & 0x0F;
@@ -881,7 +881,7 @@ static int rga_probe(struct platform_device *pdev)
					   DMA_ATTR_WRITE_COMBINE);
	if (!rga->cmdbuf_virt) {
		ret = -ENOMEM;
		goto rel_vdev;
		goto rel_m2m;
	}

	rga->src_mmu_pages =
@@ -918,6 +918,8 @@ static int rga_probe(struct platform_device *pdev)
free_dma:
	dma_free_attrs(rga->dev, RGA_CMDBUF_SIZE, rga->cmdbuf_virt,
		       rga->cmdbuf_phy, DMA_ATTR_WRITE_COMBINE);
rel_m2m:
	v4l2_m2m_release(rga->m2m_dev);
rel_vdev:
	video_device_release(vfd);
unreg_v4l2_dev: