summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorManoj Rao <manojraj@codeaurora.org>2014-04-21 13:56:17 -0700
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:29:14 -0700
commitf44da9186fa0a2d6941fc7dca4d4457400a85b3a (patch)
tree04166ac43b7aa4d5ceba1ffdb32dc3a424b04d73 /drivers
parentb1e3eee5eea678591b630d6167672216124732fc (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')
-rw-r--r--drivers/video/fbdev/msm/mdss_compat_utils.c5
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: