On Fri Oct 17 15:26:40 2025 +0200, Hans Verkuil wrote:
> The isp_video_mbus_to_pix/pix_to_mbus functions did not take
> the last empty entry { 0, } of the formats array into account.
> 
> As a result, isp_video_mbus_to_pix would accept code 0 and
> isp_video_pix_to_mbus would select code 0 if no match was found.
> 
> Signed-off-by: Hans Verkuil <[email protected]>
> Acked-by: Sakari Ailus <[email protected]>

Patch committed.

Thanks,
Hans Verkuil

 drivers/media/platform/ti/omap3isp/ispvideo.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

---

diff --git a/drivers/media/platform/ti/omap3isp/ispvideo.c 
b/drivers/media/platform/ti/omap3isp/ispvideo.c
index 46609045e2c8..864d38140b87 100644
--- a/drivers/media/platform/ti/omap3isp/ispvideo.c
+++ b/drivers/media/platform/ti/omap3isp/ispvideo.c
@@ -148,12 +148,12 @@ static unsigned int isp_video_mbus_to_pix(const struct 
isp_video *video,
        pix->width = mbus->width;
        pix->height = mbus->height;
 
-       for (i = 0; i < ARRAY_SIZE(formats); ++i) {
+       for (i = 0; i < ARRAY_SIZE(formats) - 1; ++i) {
                if (formats[i].code == mbus->code)
                        break;
        }
 
-       if (WARN_ON(i == ARRAY_SIZE(formats)))
+       if (WARN_ON(i == ARRAY_SIZE(formats) - 1))
                return 0;
 
        min_bpl = pix->width * formats[i].bpp;
@@ -191,7 +191,7 @@ static void isp_video_pix_to_mbus(const struct 
v4l2_pix_format *pix,
        /* Skip the last format in the loop so that it will be selected if no
         * match is found.
         */
-       for (i = 0; i < ARRAY_SIZE(formats) - 1; ++i) {
+       for (i = 0; i < ARRAY_SIZE(formats) - 2; ++i) {
                if (formats[i].pixelformat == pix->pixelformat)
                        break;
        }
_______________________________________________
linuxtv-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to