summaryrefslogtreecommitdiff
path: root/drivers/staging/media/imx
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2021-02-15 05:27:03 +0100
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>2021-03-11 11:59:50 +0100
commit3c1dbc71c6465687af2211d60673d4b52c082fd0 (patch)
tree5e99ca2fd1beb614513ab2a1db06d3524fe0399a /drivers/staging/media/imx
parentc6f02291d114b76b081930ba0e0bacd655ad4128 (diff)
media: imx: imx7-media-csi: Don't lock access to is_csi2
The is_csi2 field can't be accessed concurrently by imx7_csi_pad_link_validate() and imx7_csi_configure(), as the latter is called from imx7_csi_s_stream(), which is called after link validation. Drop the lock. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Rui Miguel Silva <rmfrfs@gmail.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Diffstat (limited to 'drivers/staging/media/imx')
-rw-r--r--drivers/staging/media/imx/imx7-media-csi.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/drivers/staging/media/imx/imx7-media-csi.c b/drivers/staging/media/imx/imx7-media-csi.c
index 2a4b69cc0178..dc25b593eaeb 100644
--- a/drivers/staging/media/imx/imx7-media-csi.c
+++ b/drivers/staging/media/imx/imx7-media-csi.c
@@ -1001,7 +1001,6 @@ static int imx7_csi_pad_link_validate(struct v4l2_subdev *sd,
struct imx_media_video_dev *vdev = csi->vdev;
const struct v4l2_pix_format *out_pix = &vdev->fmt;
struct media_pad *pad;
- bool is_csi2;
int ret;
if (!csi->src_sd)
@@ -1018,7 +1017,7 @@ static int imx7_csi_pad_link_validate(struct v4l2_subdev *sd,
switch (csi->src_sd->entity.function) {
case MEDIA_ENT_F_VID_IF_BRIDGE:
/* The input is the CSI-2 receiver. */
- is_csi2 = true;
+ csi->is_csi2 = true;
break;
case MEDIA_ENT_F_VID_MUX:
@@ -1027,7 +1026,7 @@ static int imx7_csi_pad_link_validate(struct v4l2_subdev *sd,
if (!pad)
return -ENODEV;
- is_csi2 = pad->entity->function == MEDIA_ENT_F_VID_IF_BRIDGE;
+ csi->is_csi2 = pad->entity->function == MEDIA_ENT_F_VID_IF_BRIDGE;
break;
default:
@@ -1035,14 +1034,10 @@ static int imx7_csi_pad_link_validate(struct v4l2_subdev *sd,
* The input is an external entity, it must use the parallel
* bus.
*/
- is_csi2 = false;
+ csi->is_csi2 = false;
break;
}
- mutex_lock(&csi->lock);
- csi->is_csi2 = is_csi2;
- mutex_unlock(&csi->lock);
-
/* Validate the sink link, ensure the pixel format is supported. */
switch (out_pix->pixelformat) {
case V4L2_PIX_FMT_UYVY: