Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bd313abb authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: camera: isp: Add defensive check for io pointers"

parents d61d4264 2c183a17
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -122,6 +122,7 @@ static int msm_vfe32_init_hardware(struct vfe_device *vfe_dev)
	return rc;
	return rc;
irq_req_failed:
irq_req_failed:
	iounmap(vfe_dev->vfe_base);
	iounmap(vfe_dev->vfe_base);
	vfe_dev->vfe_base = NULL;
vfe_remap_failed:
vfe_remap_failed:
	if (vfe_dev->vfe_clk_idx == 1)
	if (vfe_dev->vfe_clk_idx == 1)
		msm_cam_clk_enable(&vfe_dev->pdev->dev,
		msm_cam_clk_enable(&vfe_dev->pdev->dev,
@@ -146,6 +147,7 @@ static void msm_vfe32_release_hardware(struct vfe_device *vfe_dev)
	free_irq(vfe_dev->vfe_irq->start, vfe_dev);
	free_irq(vfe_dev->vfe_irq->start, vfe_dev);
	tasklet_kill(&vfe_dev->vfe_tasklet);
	tasklet_kill(&vfe_dev->vfe_tasklet);
	iounmap(vfe_dev->vfe_base);
	iounmap(vfe_dev->vfe_base);
	vfe_dev->vfe_base = NULL;
	if (vfe_dev->vfe_clk_idx == 1)
	if (vfe_dev->vfe_clk_idx == 1)
		msm_cam_clk_enable(&vfe_dev->pdev->dev,
		msm_cam_clk_enable(&vfe_dev->pdev->dev,
				msm_vfe32_1_clk_info, vfe_dev->vfe_clk,
				msm_vfe32_1_clk_info, vfe_dev->vfe_clk,
+4 −0
Original line number Original line Diff line number Diff line
@@ -309,8 +309,10 @@ static int msm_vfe40_init_hardware(struct vfe_device *vfe_dev)
	return rc;
	return rc;
irq_req_failed:
irq_req_failed:
	iounmap(vfe_dev->vfe_vbif_base);
	iounmap(vfe_dev->vfe_vbif_base);
	vfe_dev->vfe_vbif_base = NULL;
vbif_remap_failed:
vbif_remap_failed:
	iounmap(vfe_dev->vfe_base);
	iounmap(vfe_dev->vfe_base);
	vfe_dev->vfe_base = NULL;
vfe_remap_failed:
vfe_remap_failed:
	msm_cam_clk_enable(&vfe_dev->pdev->dev, msm_vfe40_clk_info,
	msm_cam_clk_enable(&vfe_dev->pdev->dev, msm_vfe40_clk_info,
		vfe_dev->vfe_clk, vfe_dev->num_clk, 0);
		vfe_dev->vfe_clk, vfe_dev->num_clk, 0);
@@ -329,7 +331,9 @@ static void msm_vfe40_release_hardware(struct vfe_device *vfe_dev)
	free_irq(vfe_dev->vfe_irq->start, vfe_dev);
	free_irq(vfe_dev->vfe_irq->start, vfe_dev);
	tasklet_kill(&vfe_dev->vfe_tasklet);
	tasklet_kill(&vfe_dev->vfe_tasklet);
	iounmap(vfe_dev->vfe_vbif_base);
	iounmap(vfe_dev->vfe_vbif_base);
	vfe_dev->vfe_vbif_base = NULL;
	iounmap(vfe_dev->vfe_base);
	iounmap(vfe_dev->vfe_base);
	vfe_dev->vfe_base = NULL;
	msm_cam_clk_enable(&vfe_dev->pdev->dev, msm_vfe40_clk_info,
	msm_cam_clk_enable(&vfe_dev->pdev->dev, msm_vfe40_clk_info,
		vfe_dev->vfe_clk, vfe_dev->num_clk, 0);
		vfe_dev->vfe_clk, vfe_dev->num_clk, 0);
	kfree(vfe_dev->vfe_clk);
	kfree(vfe_dev->vfe_clk);
+4 −0
Original line number Original line Diff line number Diff line
@@ -211,8 +211,10 @@ static int msm_vfe44_init_hardware(struct vfe_device *vfe_dev)
	return rc;
	return rc;
irq_req_failed:
irq_req_failed:
	iounmap(vfe_dev->vfe_vbif_base);
	iounmap(vfe_dev->vfe_vbif_base);
	vfe_dev->vfe_vbif_base = NULL;
vbif_remap_failed:
vbif_remap_failed:
	iounmap(vfe_dev->vfe_base);
	iounmap(vfe_dev->vfe_base);
	vfe_dev->vfe_base = NULL;
vfe_remap_failed:
vfe_remap_failed:
	msm_cam_clk_enable(&vfe_dev->pdev->dev, msm_vfe44_clk_info,
	msm_cam_clk_enable(&vfe_dev->pdev->dev, msm_vfe44_clk_info,
		vfe_dev->vfe_clk, vfe_dev->num_clk, 0);
		vfe_dev->vfe_clk, vfe_dev->num_clk, 0);
@@ -231,7 +233,9 @@ static void msm_vfe44_release_hardware(struct vfe_device *vfe_dev)
	free_irq(vfe_dev->vfe_irq->start, vfe_dev);
	free_irq(vfe_dev->vfe_irq->start, vfe_dev);
	tasklet_kill(&vfe_dev->vfe_tasklet);
	tasklet_kill(&vfe_dev->vfe_tasklet);
	iounmap(vfe_dev->vfe_vbif_base);
	iounmap(vfe_dev->vfe_vbif_base);
	vfe_dev->vfe_vbif_base = NULL;
	iounmap(vfe_dev->vfe_base);
	iounmap(vfe_dev->vfe_base);
	vfe_dev->vfe_base = NULL;
	msm_cam_clk_enable(&vfe_dev->pdev->dev, msm_vfe44_clk_info,
	msm_cam_clk_enable(&vfe_dev->pdev->dev, msm_vfe44_clk_info,
		vfe_dev->vfe_clk, vfe_dev->num_clk, 0);
		vfe_dev->vfe_clk, vfe_dev->num_clk, 0);
	kfree(vfe_dev->vfe_clk);
	kfree(vfe_dev->vfe_clk);
+4 −0
Original line number Original line Diff line number Diff line
@@ -244,8 +244,10 @@ static int msm_vfe46_init_hardware(struct vfe_device *vfe_dev)
	return rc;
	return rc;
irq_req_failed:
irq_req_failed:
	iounmap(vfe_dev->vfe_vbif_base);
	iounmap(vfe_dev->vfe_vbif_base);
	vfe_dev->vfe_vbif_base = NULL;
vbif_remap_failed:
vbif_remap_failed:
	iounmap(vfe_dev->vfe_base);
	iounmap(vfe_dev->vfe_base);
	vfe_dev->vfe_base = NULL;
vfe_remap_failed:
vfe_remap_failed:
	msm_cam_clk_enable(&vfe_dev->pdev->dev, msm_vfe46_clk_info,
	msm_cam_clk_enable(&vfe_dev->pdev->dev, msm_vfe46_clk_info,
		vfe_dev->vfe_clk, vfe_dev->num_clk, 0);
		vfe_dev->vfe_clk, vfe_dev->num_clk, 0);
@@ -264,7 +266,9 @@ static void msm_vfe46_release_hardware(struct vfe_device *vfe_dev)
	free_irq(vfe_dev->vfe_irq->start, vfe_dev);
	free_irq(vfe_dev->vfe_irq->start, vfe_dev);
	tasklet_kill(&vfe_dev->vfe_tasklet);
	tasklet_kill(&vfe_dev->vfe_tasklet);
	iounmap(vfe_dev->vfe_vbif_base);
	iounmap(vfe_dev->vfe_vbif_base);
	vfe_dev->vfe_vbif_base = NULL;
	iounmap(vfe_dev->vfe_base);
	iounmap(vfe_dev->vfe_base);
	vfe_dev->vfe_base = NULL;
	msm_cam_clk_enable(&vfe_dev->pdev->dev, msm_vfe46_clk_info,
	msm_cam_clk_enable(&vfe_dev->pdev->dev, msm_vfe46_clk_info,
		vfe_dev->vfe_clk, vfe_dev->num_clk, 0);
		vfe_dev->vfe_clk, vfe_dev->num_clk, 0);
	kfree(vfe_dev->vfe_clk);
	kfree(vfe_dev->vfe_clk);
+4 −0
Original line number Original line Diff line number Diff line
@@ -243,8 +243,10 @@ static int msm_vfe47_init_hardware(struct vfe_device *vfe_dev)
	return rc;
	return rc;
irq_req_failed:
irq_req_failed:
	iounmap(vfe_dev->vfe_vbif_base);
	iounmap(vfe_dev->vfe_vbif_base);
	vfe_dev->vfe_vbif_base = NULL;
vbif_remap_failed:
vbif_remap_failed:
	iounmap(vfe_dev->vfe_base);
	iounmap(vfe_dev->vfe_base);
	vfe_dev->vfe_base = NULL;
vfe_remap_failed:
vfe_remap_failed:
	msm_cam_clk_enable(&vfe_dev->pdev->dev, msm_vfe47_clk_info,
	msm_cam_clk_enable(&vfe_dev->pdev->dev, msm_vfe47_clk_info,
		vfe_dev->vfe_clk, vfe_dev->num_clk, 0);
		vfe_dev->vfe_clk, vfe_dev->num_clk, 0);
@@ -263,7 +265,9 @@ static void msm_vfe47_release_hardware(struct vfe_device *vfe_dev)
	free_irq(vfe_dev->vfe_irq->start, vfe_dev);
	free_irq(vfe_dev->vfe_irq->start, vfe_dev);
	tasklet_kill(&vfe_dev->vfe_tasklet);
	tasklet_kill(&vfe_dev->vfe_tasklet);
	iounmap(vfe_dev->vfe_vbif_base);
	iounmap(vfe_dev->vfe_vbif_base);
	vfe_dev->vfe_vbif_base = NULL;
	iounmap(vfe_dev->vfe_base);
	iounmap(vfe_dev->vfe_base);
	vfe_dev->vfe_base = NULL;
	msm_cam_clk_enable(&vfe_dev->pdev->dev, msm_vfe47_clk_info,
	msm_cam_clk_enable(&vfe_dev->pdev->dev, msm_vfe47_clk_info,
		vfe_dev->vfe_clk, vfe_dev->num_clk, 0);
		vfe_dev->vfe_clk, vfe_dev->num_clk, 0);
	kfree(vfe_dev->vfe_clk);
	kfree(vfe_dev->vfe_clk);
Loading