]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
media: pci: mgb4: Fix timings comparison in VIDIOC_S_DV_TIMINGS
authorMartin Tůma <martin.tuma@digiteqautomotive.com>
Tue, 26 Aug 2025 16:28:29 +0000 (18:28 +0200)
committerHans Verkuil <hverkuil+cisco@kernel.org>
Fri, 29 Aug 2025 09:04:03 +0000 (11:04 +0200)
Compare the whole v4l2_bt_timings struct, not just the width/height when
setting new timings. Timings with the same resolution and different
pixelclock can now be properly set.

Signed-off-by: Martin Tůma <martin.tuma@digiteqautomotive.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
drivers/media/pci/mgb4/mgb4_vin.c

index 989e93f67f75bdb5ff8e513b52b8573f14840dc8..42c327bc50e10af249288d2dbd77efd311abfdbd 100644 (file)
@@ -610,8 +610,7 @@ static int vidioc_s_dv_timings(struct file *file, void *fh,
            timings->bt.height < video_timings_cap.bt.min_height ||
            timings->bt.height > video_timings_cap.bt.max_height)
                return -EINVAL;
-       if (timings->bt.width == vindev->timings.bt.width &&
-           timings->bt.height == vindev->timings.bt.height)
+       if (v4l2_match_dv_timings(timings, &vindev->timings, 0, false))
                return 0;
        if (vb2_is_busy(&vindev->queue))
                return -EBUSY;