Commit 44a11920 authored by Hans de Goede's avatar Hans de Goede Committed by Mauro Carvalho Chehab
Browse files

media: atomisp-ov2680: Don't take the input_lock for try_fmt calls.



On ov2680_set_fmt() calls with format->which == V4L2_SUBDEV_FORMAT_TRY,
ov2680_set_fmt() does not talk to the sensor, so there is no need to
lock the dev->input_lock mutex in this case.

Reviewed-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
parent adea153b
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -841,8 +841,6 @@ static int ov2680_set_fmt(struct v4l2_subdev *sd,
	if (!ov2680_info)
		return -EINVAL;

	mutex_lock(&dev->input_lock);

	res = v4l2_find_nearest_size(ov2680_res_preview,
				     ARRAY_SIZE(ov2680_res_preview), width,
				     height, fmt->width, fmt->height);
@@ -855,13 +853,14 @@ static int ov2680_set_fmt(struct v4l2_subdev *sd,
	fmt->code = MEDIA_BUS_FMT_SBGGR10_1X10;
	if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
		sd_state->pads->try_fmt = *fmt;
		mutex_unlock(&dev->input_lock);
		return 0;
	}

	dev_dbg(&client->dev, "%s: %dx%d\n",
		__func__, fmt->width, fmt->height);

	mutex_lock(&dev->input_lock);

	/* s_power has not been called yet for std v4l2 clients (camorama) */
	power_up(sd);
	ret = ov2680_write_reg_array(client, dev->res->regs);