]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
media: v4l2-dev: fix WARN_ON(!vdev->device_caps)
authorHans Verkuil <hverkuil@xs4all.nl>
Thu, 25 Jul 2019 12:48:21 +0000 (08:48 -0400)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Thu, 25 Jul 2019 15:44:21 +0000 (11:44 -0400)
Device nodes of type VFL_TYPE_SUBDEV have a 0 device_caps, so they
trigger this warning. Add a check against VFL_TYPE_SUBDEV.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Fixes: 3c1350501c21 ("media: v4l2-dev/ioctl: require non-zero device_caps, verify sane querycap results")
Reported-by: Jan Kotas <jank@cadence.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/media/v4l2-core/v4l2-dev.c

index 3af72e3bbd65be277571b80d09ae63ad220c893b..a1c61d6f3b9b080d74f13d3c73f9e24b20acf8c3 100644 (file)
@@ -859,8 +859,8 @@ int __video_register_device(struct video_device *vdev,
        /* the v4l2_dev pointer MUST be present */
        if (WARN_ON(!vdev->v4l2_dev))
                return -EINVAL;
-       /* the device_caps field MUST be set */
-       if (WARN_ON(!vdev->device_caps))
+       /* the device_caps field MUST be set for all but subdevs */
+       if (WARN_ON(type != VFL_TYPE_SUBDEV && !vdev->device_caps))
                return -EINVAL;
 
        /* v4l2_fh support */