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: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
This commit is contained in:
parent
adea153b4f
commit
44a11920ac
|
@ -841,8 +841,6 @@ static int ov2680_set_fmt(struct v4l2_subdev *sd,
|
||||||
if (!ov2680_info)
|
if (!ov2680_info)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
mutex_lock(&dev->input_lock);
|
|
||||||
|
|
||||||
res = v4l2_find_nearest_size(ov2680_res_preview,
|
res = v4l2_find_nearest_size(ov2680_res_preview,
|
||||||
ARRAY_SIZE(ov2680_res_preview), width,
|
ARRAY_SIZE(ov2680_res_preview), width,
|
||||||
height, fmt->width, fmt->height);
|
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;
|
fmt->code = MEDIA_BUS_FMT_SBGGR10_1X10;
|
||||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
|
if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||||
sd_state->pads->try_fmt = *fmt;
|
sd_state->pads->try_fmt = *fmt;
|
||||||
mutex_unlock(&dev->input_lock);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
dev_dbg(&client->dev, "%s: %dx%d\n",
|
dev_dbg(&client->dev, "%s: %dx%d\n",
|
||||||
__func__, fmt->width, fmt->height);
|
__func__, fmt->width, fmt->height);
|
||||||
|
|
||||||
|
mutex_lock(&dev->input_lock);
|
||||||
|
|
||||||
/* s_power has not been called yet for std v4l2 clients (camorama) */
|
/* s_power has not been called yet for std v4l2 clients (camorama) */
|
||||||
power_up(sd);
|
power_up(sd);
|
||||||
ret = ov2680_write_reg_array(client, dev->res->regs);
|
ret = ov2680_write_reg_array(client, dev->res->regs);
|
||||||
|
|
Loading…
Reference in New Issue