diff --git a/drivers/media/platform/rockchip/cif/mipi-csi2.c b/drivers/media/platform/rockchip/cif/mipi-csi2.c index 75e40a79c12c..ce663f715e85 100644 --- a/drivers/media/platform/rockchip/cif/mipi-csi2.c +++ b/drivers/media/platform/rockchip/cif/mipi-csi2.c @@ -717,8 +717,8 @@ static void csi2_notifier_unbind(struct v4l2_async_notifier *notifier, notifier); struct csi2_sensor_info *sensor = sd_to_sensor(csi2, sd); - sensor->sd = NULL; - + if (sensor) + sensor->sd = NULL; } static const struct diff --git a/drivers/media/platform/rockchip/isp/rkisp.c b/drivers/media/platform/rockchip/isp/rkisp.c index 8cf86848f339..7b430a17ef46 100644 --- a/drivers/media/platform/rockchip/isp/rkisp.c +++ b/drivers/media/platform/rockchip/isp/rkisp.c @@ -357,6 +357,8 @@ int rkisp_update_sensor_info(struct rkisp_device *dev) return -ENODEV; sensor = sd_to_sensor(dev, sensor_sd); + if (!sensor) + return -ENODEV; ret = v4l2_subdev_call(sensor->sd, pad, get_mbus_config, 0, &sensor->mbus); if (ret && ret != -ENOIOCTLCMD) diff --git a/drivers/media/platform/rockchip/isp1/rkisp1.c b/drivers/media/platform/rockchip/isp1/rkisp1.c index 741b0ae5bb77..7255ef119733 100644 --- a/drivers/media/platform/rockchip/isp1/rkisp1.c +++ b/drivers/media/platform/rockchip/isp1/rkisp1.c @@ -1256,6 +1256,8 @@ static int rkisp1_isp_sd_set_fmt(struct v4l2_subdev *sd, const struct ispsd_in_fmt *in_fmt; in_fmt = find_in_fmt(mf->code); + if (!in_fmt) + goto err; isp_sd->in_fmt = *in_fmt; isp_sd->in_frm = *mf; } else if (fmt->pad == RKISP1_ISP_PAD_SOURCE_PATH) { @@ -1263,6 +1265,8 @@ static int rkisp1_isp_sd_set_fmt(struct v4l2_subdev *sd, /* Ignore width/height */ out_fmt = find_out_fmt(mf->code); + if (!out_fmt) + goto err; isp_sd->out_fmt = *out_fmt; /* * It is quantization for output,