This is an automatic generated email to let you know that the following patch 
were queued:

Subject: media: subdev: Don't report V4L2_SUBDEV_CAP_STREAMS when the streams 
API is disabled
Author:  Hans de Goede <hdego...@redhat.com>
Date:    Tue Oct 10 12:24:58 2023 +0200

Since the stream API is still experimental it is currently locked away
behind the internal, default disabled, v4l2_subdev_enable_streams_api flag.

Advertising V4L2_SUBDEV_CAP_STREAMS when the streams API is disabled
confuses userspace. E.g. it causes the following libcamera error:

ERROR SimplePipeline simple.cpp:1497 Failed to reset routes for
  /dev/v4l-subdev1: Inappropriate ioctl for device

Don't report V4L2_SUBDEV_CAP_STREAMS when the streams API is disabled
to avoid problems like this.

Reported-by: Dennis Bonke <ad...@dennisbonke.com>
Fixes: 9a6b5bf4c1bb ("media: add V4L2_SUBDEV_CAP_STREAMS")
Cc: sta...@vger.kernel.org # for >= 6.3
Signed-off-by: Hans de Goede <hdego...@redhat.com>
Acked-by: Sakari Ailus <sakari.ai...@linux.intel.com>
Reviewed-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mche...@kernel.org>
Signed-off-by: Hans Verkuil <hverkuil-ci...@xs4all.nl>

 drivers/media/v4l2-core/v4l2-subdev.c | 7 +++++++
 1 file changed, 7 insertions(+)

---

diff --git a/drivers/media/v4l2-core/v4l2-subdev.c 
b/drivers/media/v4l2-core/v4l2-subdev.c
index b92348ad61f6..31752c06d1f0 100644
--- a/drivers/media/v4l2-core/v4l2-subdev.c
+++ b/drivers/media/v4l2-core/v4l2-subdev.c
@@ -502,6 +502,13 @@ static long subdev_do_ioctl(struct file *file, unsigned 
int cmd, void *arg,
                                       V4L2_SUBDEV_CLIENT_CAP_STREAMS;
        int rval;
 
+       /*
+        * If the streams API is not enabled, remove V4L2_SUBDEV_CAP_STREAMS.
+        * Remove this when the API is no longer experimental.
+        */
+       if (!v4l2_subdev_enable_streams_api)
+               streams_subdev = false;
+
        switch (cmd) {
        case VIDIOC_SUBDEV_QUERYCAP: {
                struct v4l2_subdev_capability *cap = arg;

_______________________________________________
linuxtv-commits mailing list
linuxtv-commits@linuxtv.org
https://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to