]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
drm/nv50: initialize ramht_refs list for faked 0 channel
authorMarcin Slusarz <marcin.slusarz@gmail.com>
Sun, 22 Aug 2010 18:54:08 +0000 (20:54 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 27 Sep 2010 00:18:31 +0000 (17:18 -0700)
commit 615661f3948a066fd22a36fe8ea0c528b75ee373 upstream.

We need it for PFIFO_INTR_CACHE_ERROR interrupt handling,
because nouveau_fifo_swmthd looks for matching gpuobj in
ramht_refs list.
It fixes kernel panic in nouveau_gpuobj_ref_find.

Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/gpu/drm/nouveau/nv50_instmem.c

index 5f21df31f3aa7f69beac46ff65dc11885a5f02bd..3fcae5488d6d31ac5e94306d8d004f3a8123effa 100644 (file)
@@ -141,6 +141,8 @@ nv50_instmem_init(struct drm_device *dev)
        chan->file_priv = (struct drm_file *)-2;
        dev_priv->fifos[0] = dev_priv->fifos[127] = chan;
 
+       INIT_LIST_HEAD(&chan->ramht_refs);
+
        /* Channel's PRAMIN object + heap */
        ret = nouveau_gpuobj_new_fake(dev, 0, c_offset, c_size, 0,
                                                        NULL, &chan->ramin);