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
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