summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorAhmad Fatoum <a.fatoum@pengutronix.de>2020-08-17 06:53:32 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2020-08-20 14:46:46 +0200
commitb4ea941373b8b243e7f4ee44184dad48214d56da (patch)
tree7b274c83c26617f6ac899653aeb26be2d076101c /drivers
parentb78bb8f25e7e3fc8b7306ad65c2ff5c5780897e0 (diff)
downloadbarebox-b4ea941373b8b243e7f4ee44184dad48214d56da.tar.gz
barebox-b4ea941373b8b243e7f4ee44184dad48214d56da.tar.xz
video: simple-panel: don't error out on unhandled ioctl command
Video devices propagate ioctls down the pipeline by calling vpl_ioctl themselves. This also happens when propagating VPL_PREPARE. simple-panel doesn't have anything special to do in VPL_PREPARE, so it returned -ENOSYS so far. This leads vpl_ioctl to fail, which in turn is propagated back through the pipeline. For devices with multiple endpoints, vpl_ioctl passes the ioctl to each one of them. An early exit by a simple-panel can thus cause other endpoints to not prepare themselves leading to display issues. Fix this by having the simple panel ignore ioctls that aren't relevant to it. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/simple-panel.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/video/simple-panel.c b/drivers/video/simple-panel.c
index 1d05153d16..2f904a7b2b 100644
--- a/drivers/video/simple-panel.c
+++ b/drivers/video/simple-panel.c
@@ -135,7 +135,7 @@ static int simple_panel_ioctl(struct vpl *vpl, unsigned int port,
case VPL_GET_VIDEOMODES:
return simple_panel_get_modes(panel, ptr);
default:
- return -ENOSYS;
+ return 0;
}
}