NB: still broken in 3.5 as well. Signed-off-by: Ortwin Gl?ck <odi at odi.ch> --- diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c index b244d99..c7ffa63 100644 --- a/drivers/gpu/drm/nouveau/nv50_display.c +++ b/drivers/gpu/drm/nouveau/nv50_display.c @@ -650,6 +650,12 @@ nv50_display_vblank_crtc_handler(struct drm_device *dev, int crtc) struct nouveau_software_priv *psw = nv_engine(dev, NVOBJ_ENGINE_SW); struct nouveau_software_chan *pch, *tmp;
+ if (!psw) { + WARN_ON_ONCE(1); + printk(KERN_ERR "NULL software engine\n"); + return; + } + list_for_each_entry_safe(pch, tmp, &psw->vblank, vblank.list) { if (pch->vblank.head != crtc) continue;