Commit da3a55b5 authored by Eugen Hristev's avatar Eugen Hristev Committed by Mauro Carvalho Chehab
Browse files

media: atmel: atmel-isc-base: fix enum calls default format



With some sensors, the mbus code must match the one that sensor supports.
In this case we should initialize the mbus_code of the fse/fie before
calling the subdev, and not after.

Signed-off-by: default avatarEugen Hristev <eugen.hristev@microchip.com>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent ed1307e3
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -1437,6 +1437,7 @@ static int isc_enum_framesizes(struct file *file, void *fh,
{
	struct isc_device *isc = video_drvdata(file);
	struct v4l2_subdev_frame_size_enum fse = {
		.code = isc->config.sd_format->mbus_code,
		.index = fsize->index,
		.which = V4L2_SUBDEV_FORMAT_ACTIVE,
	};
@@ -1459,8 +1460,6 @@ static int isc_enum_framesizes(struct file *file, void *fh,
	if (ret)
		return ret;

	fse.code = isc->config.sd_format->mbus_code;

	fsize->type = V4L2_FRMSIZE_TYPE_DISCRETE;
	fsize->discrete.width = fse.max_width;
	fsize->discrete.height = fse.max_height;
@@ -1473,6 +1472,7 @@ static int isc_enum_frameintervals(struct file *file, void *fh,
{
	struct isc_device *isc = video_drvdata(file);
	struct v4l2_subdev_frame_interval_enum fie = {
		.code = isc->config.sd_format->mbus_code,
		.index = fival->index,
		.width = fival->width,
		.height = fival->height,
@@ -1497,7 +1497,6 @@ static int isc_enum_frameintervals(struct file *file, void *fh,
	if (ret)
		return ret;

	fie.code = isc->config.sd_format->mbus_code;
	fival->type = V4L2_FRMIVAL_TYPE_DISCRETE;
	fival->discrete = fie.interval;