diff options
author | Hans Verkuil <hverkuil@xs4all.nl> | 2019-07-25 15:48:21 +0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab+samsung@kernel.org> | 2019-07-25 18:44:21 +0300 |
commit | 049e684f2de9daa31a32423e16d2d3bd6bbd286f (patch) | |
tree | f6960e0bb518d4975bbdb2957810face0e6d48ad /drivers/media/v4l2-core/v4l2-dev.c | |
parent | 2c93346698bacd5e1a7fb59b7a5ab84cae1cc5da (diff) | |
download | linux-049e684f2de9daa31a32423e16d2d3bd6bbd286f.tar.xz |
media: v4l2-dev: fix WARN_ON(!vdev->device_caps)
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>
Diffstat (limited to 'drivers/media/v4l2-core/v4l2-dev.c')
-rw-r--r-- | drivers/media/v4l2-core/v4l2-dev.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/media/v4l2-core/v4l2-dev.c b/drivers/media/v4l2-core/v4l2-dev.c index 3af72e3bbd65..a1c61d6f3b9b 100644 --- a/drivers/media/v4l2-core/v4l2-dev.c +++ b/drivers/media/v4l2-core/v4l2-dev.c @@ -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 */ |