Skip to contentSkip to conversation

media: s5p-mfc: fix a couple double frees in probe

PATCH In review Dan Carpenter 2 participants 2 messages Jun 11, 2016 – Jun 13, 2016

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 media: s5p-mfc: fix a couple double frees in probe

The extra calls to video_device_release() are a bug, we free these after the goto.

Fixes c974c436eaf4 ('s5p-mfc: Fix race between s5p_mfc_probe() and s5p_mfc_open()')

---
This code would be easier to understand if it didn't use "come from" style label names so that "goto release_dec;" would release dec etc instead of "goto register_dec;"

drivers/media/platform/s5p-mfc/s5p_mfc.c +0 -2
index 6ee620e..274b4f1 100644
@@ -1266,7 +1266,6 @@ static int s5p_mfc_probe(struct platform_device *pdev)
 	ret = video_register_device(dev->vfd_dec, VFL_TYPE_GRABBER, 0);
 	if (ret) {
 		v4l2_err(&dev->v4l2_dev, "Failed to register video device\n");
-		video_device_release(dev->vfd_dec);
 		goto err_dec_reg;
 	}
 	v4l2_info(&dev->v4l2_dev,
@@ -1275,7 +1274,6 @@ static int s5p_mfc_probe(struct platform_device *pdev)
 	ret = video_register_device(dev->vfd_enc, VFL_TYPE_GRABBER, 0);
 	if (ret) {
 		v4l2_err(&dev->v4l2_dev, "Failed to register video device\n");
-		video_device_release(dev->vfd_enc);
 		goto err_enc_reg;
 	}
 	v4l2_info(&dev->v4l2_dev,