From: Hans Verkuil <hans.verk...@cisco.com>

Some ioctls need to copy back the result even if the ioctl returned
an error. However, don't do this for the error codes -ENOTTY, -EFAULT
and -ENOIOCTLCMD. It makes no sense in those cases.

Signed-off-by: Hans Verkuil <hans.verk...@cisco.com>
---
 drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/media/v4l2-core/v4l2-compat-ioctl32.c 
b/drivers/media/v4l2-core/v4l2-compat-ioctl32.c
index 790473b45a21..2aa9b43daf60 100644
--- a/drivers/media/v4l2-core/v4l2-compat-ioctl32.c
+++ b/drivers/media/v4l2-core/v4l2-compat-ioctl32.c
@@ -966,6 +966,9 @@ static long do_video_ioctl(struct file *file, unsigned int 
cmd, unsigned long ar
                set_fs(old_fs);
        }
 
+       if (err == -ENOTTY || err == -EFAULT || err == -ENOIOCTLCMD)
+               return err;
+
        /* Special case: even after an error we need to put the
           results back for these ioctls since the error_idx will
           contain information on which control failed. */
-- 
2.15.1

Reply via email to