diff options
| author | Manoj Rao <manojraj@codeaurora.org> | 2014-04-21 13:56:17 -0700 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 20:29:14 -0700 |
| commit | f44da9186fa0a2d6941fc7dca4d4457400a85b3a (patch) | |
| tree | 04166ac43b7aa4d5ceba1ffdb32dc3a424b04d73 /drivers/video | |
| parent | b1e3eee5eea678591b630d6167672216124732fc (diff) | |
msm: mdss: compat: avoid overrwriting err code from ioctl
When PREPARE OVERLAY ioctl returns an error code to indicate
reason for failure, the compat layer must not overwrite this error
code with those from compat functions. Userspace processes calling
overlay ioctls rely on error code from driver ioctls, not the error codes
from compat functions for some use cases Ex: falling back to mixed mode
composition on -E2BIG.
Fix this by propagating appropriate error code on failure.
Change-Id: Ib238437be58731724a445f90183511011a6e612c
Signed-off-by: Manoj Rao <manojraj@codeaurora.org>
Diffstat (limited to 'drivers/video')
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_compat_utils.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/video/fbdev/msm/mdss_compat_utils.c b/drivers/video/fbdev/msm/mdss_compat_utils.c index 9da833f33c76..e15e368c8e3e 100644 --- a/drivers/video/fbdev/msm/mdss_compat_utils.c +++ b/drivers/video/fbdev/msm/mdss_compat_utils.c @@ -2513,8 +2513,9 @@ int mdss_compat_overlay_ioctl(struct fb_info *info, unsigned int cmd, } else { ret = mdss_fb_do_ioctl(info, cmd, (unsigned long) ovlist); - ret = __to_user_mdp_overlaylist(ovlist32, ovlist, - layers_head); + if (!ret) + ret = __to_user_mdp_overlaylist(ovlist32, + ovlist, layers_head); } break; case MSMFB_OVERLAY_UNSET: |
