diff options
-rw-r--r-- | drivers/char/drm/drm_irq.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/char/drm/drm_irq.c b/drivers/char/drm/drm_irq.c index 78aae5b35c62..9d00c51fe2c4 100644 --- a/drivers/char/drm/drm_irq.c +++ b/drivers/char/drm/drm_irq.c | |||
@@ -296,8 +296,6 @@ int drm_wait_vblank(DRM_IOCTL_ARGS) | |||
296 | ? &dev->vbl_sigs2 : &dev->vbl_sigs; | 296 | ? &dev->vbl_sigs2 : &dev->vbl_sigs; |
297 | drm_vbl_sig_t *vbl_sig; | 297 | drm_vbl_sig_t *vbl_sig; |
298 | 298 | ||
299 | vblwait.reply.sequence = seq; | ||
300 | |||
301 | spin_lock_irqsave(&dev->vbl_lock, irqflags); | 299 | spin_lock_irqsave(&dev->vbl_lock, irqflags); |
302 | 300 | ||
303 | /* Check if this task has already scheduled the same signal | 301 | /* Check if this task has already scheduled the same signal |
@@ -310,6 +308,7 @@ int drm_wait_vblank(DRM_IOCTL_ARGS) | |||
310 | && vbl_sig->task == current) { | 308 | && vbl_sig->task == current) { |
311 | spin_unlock_irqrestore(&dev->vbl_lock, | 309 | spin_unlock_irqrestore(&dev->vbl_lock, |
312 | irqflags); | 310 | irqflags); |
311 | vblwait.reply.sequence = seq; | ||
313 | goto done; | 312 | goto done; |
314 | } | 313 | } |
315 | } | 314 | } |
@@ -340,6 +339,8 @@ int drm_wait_vblank(DRM_IOCTL_ARGS) | |||
340 | list_add_tail((struct list_head *)vbl_sig, &vbl_sigs->head); | 339 | list_add_tail((struct list_head *)vbl_sig, &vbl_sigs->head); |
341 | 340 | ||
342 | spin_unlock_irqrestore(&dev->vbl_lock, irqflags); | 341 | spin_unlock_irqrestore(&dev->vbl_lock, irqflags); |
342 | |||
343 | vblwait.reply.sequence = seq; | ||
343 | } else { | 344 | } else { |
344 | if (flags & _DRM_VBLANK_SECONDARY) { | 345 | if (flags & _DRM_VBLANK_SECONDARY) { |
345 | if (dev->driver->vblank_wait2) | 346 | if (dev->driver->vblank_wait2) |