]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
media: em28xx: use a default format if TRY_FMT fails
authorMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Fri, 14 Sep 2018 03:22:40 +0000 (23:22 -0400)
committerJuerg Haefliger <juergh@canonical.com>
Wed, 24 Jul 2019 01:57:39 +0000 (19:57 -0600)
BugLink: https://bugs.launchpad.net/bugs/1836802
commit f823ce2a1202d47110a7ef86b65839f0be8adc38 upstream.

Follow the V4L2 spec, as warned by v4l2-compliance:

warn: v4l2-test-formats.cpp(732): TRY_FMT cannot handle an invalid pixelformat.
warn: v4l2-test-formats.cpp(733): This may or may not be a problem. For more information see:

warn: v4l2-test-formats.cpp(734): http://www.mail-archive.com/linux-media@vger.kernel.org/msg56550.html

Cc: stable@vger.kernel.org
Fixes: bddcf63313c6 ("V4L/DVB (9927): em28xx: use a more standard way to specify video formats")
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
drivers/media/usb/em28xx/em28xx-video.c

index a2ba2d9059529108cba1cc8869fc4d7f8ebe84f2..975fe309f90cafbb50f8d12da58fcc4f413ccdf4 100644 (file)
@@ -1445,9 +1445,9 @@ static int vidioc_try_fmt_vid_cap(struct file *file, void *priv,
 
        fmt = format_by_fourcc(f->fmt.pix.pixelformat);
        if (!fmt) {
-               em28xx_videodbg("Fourcc format (%08x) invalid.\n",
-                               f->fmt.pix.pixelformat);
-               return -EINVAL;
+               fmt = &format[0];
+               em28xx_videodbg("Fourcc format (%08x) invalid. Using default (%08x).\n",
+                               f->fmt.pix.pixelformat, fmt->fourcc);
        }
 
        if (dev->board.is_em2800) {