On Mon Jun 29 11:30:45 2026 +0000, Ricardo Ribalda wrote:
> pixel_rate is set to VIMC_PIXEL_RATE_FIXED, which the code expects to
> fit in 32 bits. Make that constraint into a WARN_ON, so if we ever break
> that constraint a kernel warning will be triggered.
>
> It also fixes the following cocci warning:
> ./test-drivers/vimc/vimc-sensor.c:107:1-7: WARNING: do_div() does a 64-by-32
> division, please consider using div64_u64 instead.
>
> Signed-off-by: Ricardo Ribalda <[email protected]>
> Signed-off-by: Hans Verkuil <[email protected]>
Patch committed.
Thanks,
Hans Verkuil
drivers/media/test-drivers/vimc/vimc-sensor.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
---
diff --git a/drivers/media/test-drivers/vimc/vimc-sensor.c
b/drivers/media/test-drivers/vimc/vimc-sensor.c
index d125a79fec8c..83dcc9d61ee0 100644
--- a/drivers/media/test-drivers/vimc/vimc-sensor.c
+++ b/drivers/media/test-drivers/vimc/vimc-sensor.c
@@ -103,8 +103,12 @@ static void vimc_sensor_update_frame_timing(struct
v4l2_subdev *sd,
u64 total_pixels = (u64)hts * vts;
u64 frame_interval_ns;
+ /* Sanity check, pixel rate is fixed and fits in 32 bits. */
+ if (WARN_ON(pixel_rate >= 0x100000000))
+ return;
+
frame_interval_ns = total_pixels * NSEC_PER_SEC;
- do_div(frame_interval_ns, pixel_rate);
+ do_div(frame_interval_ns, (u32)pixel_rate);
vsensor->hw.fps_jiffies = nsecs_to_jiffies(frame_interval_ns);
if (vsensor->hw.fps_jiffies == 0)
vsensor->hw.fps_jiffies = 1;
_______________________________________________
linuxtv-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]