On Wed Jul 22 20:14:51 2026 +0330, Arash Golgol wrote:
> vimc_capture_enum_framesizes() looks up the requested format using
> vimc_pix_map_by_code(), which searches the pix map table by media
> bus code (MEDIA_BUS_FMT_*).
> 
> However, v4l2_frmsizeenum::pixel_format holds a V4L2 pixel format
> (V4L2_PIX_FMT_*), not a media bus code, so valid pixel formats end
> up being rejected with -EINVAL.
> 
> Fix this by using vimc_pix_map_by_pixelformat() instead, which
> performs the lookup by pixel format as the ioctl expects.
> 
> Fixes: 09c41a23a2e2 ("media: Revert "media: vimc: propagate pixel format in 
> the stream"")
> Cc: [email protected]
> Signed-off-by: Arash Golgol <[email protected]>
> Signed-off-by: Hans Verkuil <[email protected]>

Patch committed.

Thanks,
Hans Verkuil

 drivers/media/test-drivers/vimc/vimc-capture.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---

diff --git a/drivers/media/test-drivers/vimc/vimc-capture.c 
b/drivers/media/test-drivers/vimc/vimc-capture.c
index e0c6bc9f8f20..ac60c9b5418e 100644
--- a/drivers/media/test-drivers/vimc/vimc-capture.c
+++ b/drivers/media/test-drivers/vimc/vimc-capture.c
@@ -175,8 +175,8 @@ static int vimc_capture_enum_framesizes(struct file *file, 
void *priv,
        if (fsize->index)
                return -EINVAL;
 
-       /* Only accept code in the pix map table */
-       vpix = vimc_pix_map_by_code(fsize->pixel_format);
+       /* Only accept pixel_format in the pix map table */
+       vpix = vimc_pix_map_by_pixelformat(fsize->pixel_format);
        if (!vpix)
                return -EINVAL;
 
_______________________________________________
linuxtv-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to