mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-30 11:06:39 +07:00
[media] v4l2-dev: G_PARM was incorrectly enabled for all video nodes
G_PARM should only be enabled if: - vidioc_g_parm is present - or: it is a video node and vidioc_g_std or tvnorms are set. Without this additional check v4l2-compliance would complain about being able to use g_parm when it didn't expect it. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
47556ffaf2
commit
837c7e4256
@ -697,7 +697,8 @@ static void determine_valid_ioctls(struct video_device *vdev)
|
||||
SET_VALID_IOCTL(ops, VIDIOC_TRY_ENCODER_CMD, vidioc_try_encoder_cmd);
|
||||
SET_VALID_IOCTL(ops, VIDIOC_DECODER_CMD, vidioc_decoder_cmd);
|
||||
SET_VALID_IOCTL(ops, VIDIOC_TRY_DECODER_CMD, vidioc_try_decoder_cmd);
|
||||
if (ops->vidioc_g_parm || vdev->vfl_type == VFL_TYPE_GRABBER)
|
||||
if (ops->vidioc_g_parm || (vdev->vfl_type == VFL_TYPE_GRABBER &&
|
||||
(ops->vidioc_g_std || vdev->tvnorms)))
|
||||
set_bit(_IOC_NR(VIDIOC_G_PARM), valid_ioctls);
|
||||
SET_VALID_IOCTL(ops, VIDIOC_S_PARM, vidioc_s_parm);
|
||||
SET_VALID_IOCTL(ops, VIDIOC_G_TUNER, vidioc_g_tuner);
|
||||
|
Loading…
Reference in New Issue
Block a user