[lkml]   [2010]   [Jul]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
Subject[152/200] drm/i915: Kill dangerous pending-flip debugging
2.6.34-stable review patch.  If anyone has any objections, please let me know.


From: Chris Wilson <>

commit 9908ff736adf261e749b4887486a32ffa209304c upstream.

We can, by virtue of a vblank interrupt firing in the middle of setting
up the unpin work (i.e. after we set the unpin_work field and before we
write to the ringbuffer) enter intel_finish_page_flip() prior to
receiving the pending flip notification. Therefore we can expect to hit
intel_finish_page_flip() under normal circumstances without a pending flip
and even without installing the pending_flip_obj. This is exacerbated by
aperture thrashing whilst binding the framebuffer

Bug 28079 - "glresize" causes kernel panic in intel_finish_page_flip.

Reported-by: Nick Bowler <>
Signed-off-by: Chris Wilson <>
Cc: Jesse Barnes <>
Reviewed-by: Jesse Barnes <>
Signed-off-by: Eric Anholt <>
Signed-off-by: Greg Kroah-Hartman <>

drivers/gpu/drm/i915/intel_display.c | 6 ------
1 file changed, 6 deletions(-)

--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -4155,12 +4155,6 @@ void intel_finish_page_flip(struct drm_d
spin_lock_irqsave(&dev->event_lock, flags);
work = intel_crtc->unpin_work;
if (work == NULL || !work->pending) {
- if (work && !work->pending) {
- obj_priv = to_intel_bo(work->pending_flip_obj);
- DRM_DEBUG_DRIVER("flip finish: %p (%d) not pending?\n",
- obj_priv,
- atomic_read(&obj_priv->pending_flip));
- }
spin_unlock_irqrestore(&dev->event_lock, flags);

 \ /
  Last update: 2010-07-01 23:37    [W:1.013 / U:5.344 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site