From ca43692ae15ed74d47a794884588dc7ff5afb384 Mon Sep 17 00:00:00 2001 From: Philipp Zabel Date: Mon, 4 Apr 2022 17:35:29 +0100 Subject: [PATCH] media: coda: disable encoder ioctls for decoder devices Use v4l2_disable_ioctl() to disable the encoder ioctls VIDIOC_ENUM_FRAMESIZES, VIDIOC_ENUM_FRAMEINTERVALS, VIDIOC_G_PARM, and VIDIOC_S_PARM, to fix this v4l2-compliance test failure: fail: v4l2-test-formats.cpp(1363): node->is_m2m && !is_stateful_enc test VIDIOC_G/S_PARM: FAIL Signed-off-by: Philipp Zabel Reviewed-by: Nicolas Dufresne Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab --- drivers/media/platform/chips-media/coda-common.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/media/platform/chips-media/coda-common.c b/drivers/media/platform/chips-media/coda-common.c index 57d23fda1128..c6f8f954914c 100644 --- a/drivers/media/platform/chips-media/coda-common.c +++ b/drivers/media/platform/chips-media/coda-common.c @@ -1269,9 +1269,6 @@ static int coda_enum_framesizes(struct file *file, void *fh, struct coda_q_data *q_data_dst; const struct coda_codec *codec; - if (ctx->inst_type != CODA_INST_ENCODER) - return -ENOTTY; - if (fsize->index) return -EINVAL; @@ -2885,6 +2882,10 @@ static int coda_register_device(struct coda_dev *dev, int i) } else { v4l2_disable_ioctl(vfd, VIDIOC_ENCODER_CMD); v4l2_disable_ioctl(vfd, VIDIOC_TRY_ENCODER_CMD); + v4l2_disable_ioctl(vfd, VIDIOC_ENUM_FRAMESIZES); + v4l2_disable_ioctl(vfd, VIDIOC_ENUM_FRAMEINTERVALS); + v4l2_disable_ioctl(vfd, VIDIOC_G_PARM); + v4l2_disable_ioctl(vfd, VIDIOC_S_PARM); } ret = video_register_device(vfd, VFL_TYPE_VIDEO, 0); -- 2.11.0