Re: [PATCH] imx274: fix frame interval handling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Hans,

[Cc: ing the imx274 maintainer]

On 02/07/20 15:52, Hans Verkuil wrote:
> 1) the numerator and/or denominator might be 0, in that case
>    fall back to the default frame interval. This is per the spec
>    and this caused a v4l2-compliance failure.
> 
> 2) the updated frame interval wasn't returned in the s_frame_interval
>    subdev op.
> 
> Signed-off-by: Hans Verkuil <hverkuil-cisco@xxxxxxxxx>
> ---
>  drivers/media/i2c/imx274.c | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/media/i2c/imx274.c b/drivers/media/i2c/imx274.c
> index 6011cec5e351..a9304b98f7af 100644
> --- a/drivers/media/i2c/imx274.c
> +++ b/drivers/media/i2c/imx274.c
> @@ -1235,6 +1235,8 @@ static int imx274_s_frame_interval(struct v4l2_subdev *sd,
>  	ret = imx274_set_frame_interval(imx274, fi->interval);
> 
>  	if (!ret) {
> +		fi->interval = imx274->frame_interval;
> +
>  		/*
>  		 * exposure time range is decided by frame interval
>  		 * need to update it after frame interval changes
> @@ -1730,9 +1732,9 @@ static int imx274_set_frame_interval(struct stimx274 *priv,
>  		__func__, frame_interval.numerator,
>  		frame_interval.denominator);
> 
> -	if (frame_interval.numerator == 0) {
> -		err = -EINVAL;
> -		goto fail;
> +	if (frame_interval.numerator == 0 || frame_interval.denominator) {

Missing '== 0'?

Please excuse my noobness, but I'm unable to understand which code path
would lead to calling imx274_set_frame_interval() with a zero here. I'm
assuming the v4l2 framework won't call imx274_s_frame_interval() with
numerator or denominator set to zero.

-- 
Luca



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux