Re: [PATCH 10/10] media: i2c: ov9282: clamp flash_duration default to its maximum

From: Dave Stevenson

Date: Tue Sep 15 2026 - 11:11:34 EST


"media: i2c: ov9282: clamp flash_duration default to its maximum"
took me a moment to parse as to be the control maximum, not the default maximum.
"clamp flash_duration default to valid range"?

On Mon, 14 Sept 2026 at 20:21, Richard Leitner
<richard.leitner@xxxxxxxxx> wrote:
>
> Currently the OV9282_STROBE_FRAME_SPAN_DEFAULT is always passed as default
> to the flash_duration v4l2 control, where the maximum is dynamically
> changed. This may lead to situations where the default is above the
> maximum.
>
> Fix this by setting the maximum value as default when
> OV9282_STROBE_FRAME_SPAN_DEFAULT is above the maximum value.
>
> Signed-off-by: Richard Leitner <richard.leitner@xxxxxxxxx>

With or without that changed:
Reviewed-by: Dave Stevenson <dave.stevenson@xxxxxxxxxxxxxxx>

> ---
> drivers/media/i2c/ov9282.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/media/i2c/ov9282.c b/drivers/media/i2c/ov9282.c
> index be38ecfad8c82..1c5bed85781ce 100644
> --- a/drivers/media/i2c/ov9282.c
> +++ b/drivers/media/i2c/ov9282.c
> @@ -11,6 +11,7 @@
> #include <linux/i2c.h>
> #include <linux/math.h>
> #include <linux/math64.h>
> +#include <linux/minmax.h>
> #include <linux/module.h>
> #include <linux/pm_runtime.h>
> #include <linux/regmap.h>
> @@ -556,12 +557,15 @@ static int ov9282_update_ctrl_range_flash_duration(struct ov9282 *ov9282)
> u32 exposure_us = ov9282_exposure_to_us(ov9282, ov9282->exp_ctrl->val);
> u32 fd_max = ov9282_us_to_flash_duration(ov9282, exposure_us);
> u32 fd_max_us = ov9282_flash_duration_to_us(ov9282, fd_max);
> + u32 fd_default;
>
> if (fd_max_us < exposure_us)
> fd_max_us = ov9282_flash_duration_to_us(ov9282, fd_max + 1);
>
> + fd_default = min_t(u32, OV9282_STROBE_FRAME_SPAN_DEFAULT, fd_max_us);
> +
> return __v4l2_ctrl_modify_range(ov9282->flash_duration, 0, fd_max_us,
> - 1, OV9282_STROBE_FRAME_SPAN_DEFAULT);
> + 1, fd_default);
> }
>
> /**
>
> --
> 2.53.0
>
>