Return an error for which == V4L2_SUBDEV_FORMAT_TRY if
CONFIG_VIDEO_V4L2_SUBDEV_API is not enabled. This is because the try
formats are not available in that case. Do the check here so that drivers
don't need to.

Signed-off-by: Sakari Ailus <sakari.ai...@linux.intel.com>
Depends-on: ("media: v4l2-subdev: Verify v4l2_subdev_call() pad config 
argument")
---
 drivers/media/v4l2-core/v4l2-subdev.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/media/v4l2-core/v4l2-subdev.c 
b/drivers/media/v4l2-core/v4l2-subdev.c
index 34219e489be27..88b4b9d7c41be 100644
--- a/drivers/media/v4l2-core/v4l2-subdev.c
+++ b/drivers/media/v4l2-core/v4l2-subdev.c
@@ -122,7 +122,10 @@ static int subdev_close(struct file *file)
 
 static inline int check_which(__u32 which)
 {
-       if (which != V4L2_SUBDEV_FORMAT_TRY &&
+       if (
+#ifdef CONFIG_VIDEO_V4L2_SUBDEV_API
+           which != V4L2_SUBDEV_FORMAT_TRY &&
+#endif
            which != V4L2_SUBDEV_FORMAT_ACTIVE)
                return -EINVAL;
 
-- 
2.11.0

Reply via email to