From 64d192c0e22cf8b990406cdde5cfaf221e7b2fe1 Mon Sep 17 00:00:00 2001 From: Xu Han Date: Fri, 4 Mar 2016 16:11:48 -0800 Subject: [PATCH] msm: sensor: Fix potential NULL ptr dereference Fix potential NULL ptr dereference in msm_cci and msm_csiphy driver. CRs-Fixed: 981832 Change-Id: I8b7a807c20fd6ff2636943e779597d20459d2d88 Signed-off-by: Xu Han --- drivers/media/platform/msm/camera_v2/sensor/cci/msm_cci.c | 8 ++++---- .../platform/msm/camera_v2/sensor/csiphy/msm_csiphy.c | 5 ++++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/drivers/media/platform/msm/camera_v2/sensor/cci/msm_cci.c b/drivers/media/platform/msm/camera_v2/sensor/cci/msm_cci.c index 9f1a64e00eee..4ba2b7eae78e 100644 --- a/drivers/media/platform/msm/camera_v2/sensor/cci/msm_cci.c +++ b/drivers/media/platform/msm/camera_v2/sensor/cci/msm_cci.c @@ -2014,15 +2014,15 @@ static int msm_cci_probe(struct platform_device *pdev) goto cci_no_resource; } new_cci_dev->irq = msm_camera_get_irq(pdev, "cci"); - CDBG("%s line %d cci irq start %d end %d\n", __func__, - __LINE__, - (int) new_cci_dev->irq->start, - (int) new_cci_dev->irq->end); if (!new_cci_dev->irq) { pr_err("%s: no irq resource?\n", __func__); rc = -ENODEV; goto cci_no_resource; } + CDBG("%s line %d cci irq start %d end %d\n", __func__, + __LINE__, + (int) new_cci_dev->irq->start, + (int) new_cci_dev->irq->end); rc = msm_camera_register_irq(pdev, new_cci_dev->irq, msm_cci_irq, IRQF_TRIGGER_RISING, "cci", new_cci_dev); if (rc < 0) { diff --git a/drivers/media/platform/msm/camera_v2/sensor/csiphy/msm_csiphy.c b/drivers/media/platform/msm/camera_v2/sensor/csiphy/msm_csiphy.c index f7a279b77c20..51763d7d2e0e 100644 --- a/drivers/media/platform/msm/camera_v2/sensor/csiphy/msm_csiphy.c +++ b/drivers/media/platform/msm/camera_v2/sensor/csiphy/msm_csiphy.c @@ -1360,7 +1360,10 @@ static long msm_csiphy_subdev_ioctl(struct v4l2_subdev *sd, { int rc = -ENOIOCTLCMD; struct csiphy_device *csiphy_dev = v4l2_get_subdevdata(sd); - CDBG("%s:%d id %d\n", __func__, __LINE__, csiphy_dev->pdev->id); + if (!csiphy_dev) { + pr_err("%s:%d failed\n", __func__, __LINE__); + return -EINVAL; + } mutex_lock(&csiphy_dev->mutex); switch (cmd) { case VIDIOC_MSM_SENSOR_GET_SUBDEV_ID: