mirror of
https://github.com/hardkernel/linux.git
synced 2026-03-26 04:20:23 +09:00
media: ov2680: Don't take the lock for try_fmt calls
[ Upstream commite521b9cc1a] On ov2680_set_fmt() calls with format->which == V4L2_SUBDEV_FORMAT_TRY, ov2680_set_fmt() does not talk to the sensor. So in this case there is no need to lock the sensor->lock mutex or to check that the sensor is streaming. Fixes:3ee47cad3e("media: ov2680: Add Omnivision OV2680 sensor driver") Acked-by: Rui Miguel Silva <rmfrfs@gmail.com> Reviewed-by: Daniel Scally <dan.scally@ideasonboard.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
dbb717b4ee
commit
784d1b83ae
@@ -595,24 +595,22 @@ static int ov2680_set_fmt(struct v4l2_subdev *sd,
|
||||
if (format->pad != 0)
|
||||
return -EINVAL;
|
||||
|
||||
mutex_lock(&sensor->lock);
|
||||
|
||||
if (sensor->is_streaming) {
|
||||
ret = -EBUSY;
|
||||
goto unlock;
|
||||
}
|
||||
|
||||
mode = v4l2_find_nearest_size(ov2680_mode_data,
|
||||
ARRAY_SIZE(ov2680_mode_data), width,
|
||||
height, fmt->width, fmt->height);
|
||||
if (!mode) {
|
||||
ret = -EINVAL;
|
||||
goto unlock;
|
||||
}
|
||||
if (!mode)
|
||||
return -EINVAL;
|
||||
|
||||
if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
|
||||
try_fmt = v4l2_subdev_get_try_format(sd, sd_state, 0);
|
||||
format->format = *try_fmt;
|
||||
return 0;
|
||||
}
|
||||
|
||||
mutex_lock(&sensor->lock);
|
||||
|
||||
if (sensor->is_streaming) {
|
||||
ret = -EBUSY;
|
||||
goto unlock;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user