On Wed, 2009-05-20 at 13:32 +0200, Michel Dänzer wrote:
> From: Michel Dänzer <daen...@vmware.com>
> 
> Fixes a regression from commit 9d5b3ffc42f7820e8ee07705496955e4c2c38dd9
> ('drm: fixup some of the ioctl function exit paths'): The vblank ioctl needs 
> to
> update the userspace parameters when interrupted by a signal, which was
> prevented by the return code check. This could cause the X server to hang in
> drmWaitVBlank().
> 
> Signed-off-by: Michel Dänzer <daen...@vmware.com>

Reviewed-by: Eric Anholt <e...@anholt.net>

(The DRM ioctls are, to my memory, all built so that on error copying
the data out still is either harmless or good).

> ---
>  drivers/gpu/drm/drm_drv.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
> index 14c7a23..825866d 100644
> --- a/drivers/gpu/drm/drm_drv.c
> +++ b/drivers/gpu/drm/drm_drv.c
> @@ -512,7 +512,7 @@ int drm_ioctl(struct inode *inode, struct file *filp,
>               }
>               retcode = func(dev, kdata, file_priv);
>  
> -             if ((retcode == 0) && (cmd & IOC_OUT)) {
> +             if (cmd & IOC_OUT) {
>                       if (copy_to_user((void __user *)arg, kdata,
>                                        _IOC_SIZE(cmd)) != 0)
>                               retcode = -EFAULT;
-- 
Eric Anholt
e...@anholt.net                         eric.anh...@intel.com


Attachment: signature.asc
Description: This is a digitally signed message part

------------------------------------------------------------------------------
Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT
is a gathering of tech-side developers & brand creativity professionals. Meet
the minds behind Google Creative Lab, Visual Complexity, Processing, & 
iPhoneDevCamp asthey present alongside digital heavyweights like Barbarian
Group, R/GA, & Big Spaceship. http://www.creativitycat.com 
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to