Prev: [176/200] NFS: Fix another nfs_wb_page() deadlock
Next: [178/200] KVM: SVM: Dont use kmap_atomic in nested_svm_map
From: Greg KH on 1 Jul 2010 17:40 2.6.34-stable review patch. If anyone has any objections, please let me know. ------------------ From: Chris Wilson <chris(a)chris-wilson.co.uk> 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. https://bugs.freedesktop.org/show_bug.cgi?id=28079 Reported-by: Nick Bowler <nbowler(a)draconx.ca> Signed-off-by: Chris Wilson <chris(a)chris-wilson.co.uk> Cc: Jesse Barnes <jbarnes(a)virtuousgeek.org> Reviewed-by: Jesse Barnes <jbarnes(a)virtuousgeek.org> Signed-off-by: Eric Anholt <eric(a)anholt.net> Signed-off-by: Greg Kroah-Hartman <gregkh(a)suse.de> --- 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); return; } -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |