diff options
Diffstat (limited to 'drivers/gpu/drm/i915/i915_irq.c')
| -rw-r--r-- | drivers/gpu/drm/i915/i915_irq.c | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c index 6cd3dc94b47..a4dc97f8b9f 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c @@ -1466,7 +1466,9 @@ static void i915_pageflip_stall_check(struct drm_device *dev, int pipe)  	spin_lock_irqsave(&dev->event_lock, flags);  	work = intel_crtc->unpin_work; -	if (work == NULL || work->pending || !work->enable_stall_check) { +	if (work == NULL || +	    atomic_read(&work->pending) >= INTEL_FLIP_COMPLETE || +	    !work->enable_stall_check) {  		/* Either the pending flip IRQ arrived, or we're too early. Don't check */  		spin_unlock_irqrestore(&dev->event_lock, flags);  		return;  |