|
@@ -884,7 +884,6 @@ static void mixer_finish_pageflip(struct drm_device *drm_dev, int crtc)
|
|
|
struct drm_pending_vblank_event *e, *t;
|
|
|
struct timeval now;
|
|
|
unsigned long flags;
|
|
|
- bool is_checked = false;
|
|
|
|
|
|
spin_lock_irqsave(&drm_dev->event_lock, flags);
|
|
|
|
|
@@ -894,7 +893,6 @@ static void mixer_finish_pageflip(struct drm_device *drm_dev, int crtc)
|
|
|
if (crtc != e->pipe)
|
|
|
continue;
|
|
|
|
|
|
- is_checked = true;
|
|
|
do_gettimeofday(&now);
|
|
|
e->event.sequence = 0;
|
|
|
e->event.tv_sec = now.tv_sec;
|
|
@@ -902,16 +900,9 @@ static void mixer_finish_pageflip(struct drm_device *drm_dev, int crtc)
|
|
|
|
|
|
list_move_tail(&e->base.link, &e->base.file_priv->event_list);
|
|
|
wake_up_interruptible(&e->base.file_priv->event_wait);
|
|
|
+ drm_vblank_put(drm_dev, crtc);
|
|
|
}
|
|
|
|
|
|
- if (is_checked)
|
|
|
- /*
|
|
|
- * call drm_vblank_put only in case that drm_vblank_get was
|
|
|
- * called.
|
|
|
- */
|
|
|
- if (atomic_read(&drm_dev->vblank_refcount[crtc]) > 0)
|
|
|
- drm_vblank_put(drm_dev, crtc);
|
|
|
-
|
|
|
spin_unlock_irqrestore(&drm_dev->event_lock, flags);
|
|
|
}
|
|
|
|