diff options
author | Ahmad Fatoum <a.fatoum@pengutronix.de> | 2020-08-17 06:53:32 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2020-08-20 14:46:46 +0200 |
commit | b4ea941373b8b243e7f4ee44184dad48214d56da (patch) | |
tree | 7b274c83c26617f6ac899653aeb26be2d076101c /drivers | |
parent | b78bb8f25e7e3fc8b7306ad65c2ff5c5780897e0 (diff) | |
download | barebox-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.c | 2 |
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; } } |