2012-10-01 08:17:21

by Ortwin Glück

[permalink] [raw]
Subject: [PATCH] drm/nouveau: fix crash regression

Work around a crash during boot if noaccel is set.

NB: still broken in 3.5 as well, used to work in 3.4. Why are people
ignoring this? It's a regression!

Signed-off-by: Ortwin Gl?ck <[email protected]>
---
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;