diff options
| author | Sakari Ailus <sakari.ailus@linux.intel.com> | 2025-08-25 10:28:52 +0300 |
|---|---|---|
| committer | Hans Verkuil <hverkuil+cisco@kernel.org> | 2026-01-14 23:33:02 +0100 |
| commit | 04ec8572f8689f577781ba0229b5bb1671c520e0 (patch) | |
| tree | add6a3d9ceaad11dd3b05468ada2103dd5e78146 /drivers | |
| parent | e87ebb4e4f71a3a51af67509280a0ba0c89083c4 (diff) | |
media: v4l2-subdev: Extend VIDIOC_SUBDEV_S_ROUTING error codes
Return -ENXIO from routing configuration errors other than generic IOCTL
argument validation.
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c | 2 | ||||
| -rw-r--r-- | drivers/media/platform/raspberrypi/rp1-cfe/csi2.c | 2 | ||||
| -rw-r--r-- | drivers/media/v4l2-core/v4l2-subdev.c | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c b/drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c index ede6cc74c023..3c26cfef93d1 100644 --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c @@ -114,7 +114,7 @@ static int __mxc_isi_crossbar_set_routing(struct v4l2_subdev *sd, "invalid route from memory input (%u) to pipe %u\n", route->sink_pad, route->source_pad - xbar->num_sinks); - return -EINVAL; + return -ENXIO; } } diff --git a/drivers/media/platform/raspberrypi/rp1-cfe/csi2.c b/drivers/media/platform/raspberrypi/rp1-cfe/csi2.c index 2c5b4d24b4e6..104908afbf41 100644 --- a/drivers/media/platform/raspberrypi/rp1-cfe/csi2.c +++ b/drivers/media/platform/raspberrypi/rp1-cfe/csi2.c @@ -492,7 +492,7 @@ static int csi2_set_routing(struct v4l2_subdev *sd, const struct v4l2_subdev_route *route = &routing->routes[i]; if (route->source_stream != 0) - return -EINVAL; + return -ENXIO; } ret = v4l2_subdev_set_routing_with_fmt(sd, state, routing, diff --git a/drivers/media/v4l2-core/v4l2-subdev.c b/drivers/media/v4l2-core/v4l2-subdev.c index 25e66bf18f5f..66842b975f91 100644 --- a/drivers/media/v4l2-core/v4l2-subdev.c +++ b/drivers/media/v4l2-core/v4l2-subdev.c @@ -2112,7 +2112,7 @@ int v4l2_subdev_routing_validate(struct v4l2_subdev *sd, { u32 *remote_pads = NULL; unsigned int i, j; - int ret = -EINVAL; + int ret = -ENXIO; if (disallow & (V4L2_SUBDEV_ROUTING_NO_STREAM_MIX | V4L2_SUBDEV_ROUTING_NO_MULTIPLEXING)) { |
