From: Jesse B. <jb...@vi...> - 2009-05-20 18:50:07
|
On Wed, 20 May 2009 13:32:00 +0200 Michel Dänzer <mi...@da...> wrote: > From: Michel Dänzer <da...@vm...> > > 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 <da...@vm...> > --- > 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; Applied to my for-linus branch, thanks Michel. -- Jesse Barnes, Intel Open Source Technology Center |