OSDN Git Service

drm/nouveau/fifo/nv04: avoid ramht race against cookie insertion
authorIlia Mirkin <imirkin@alum.mit.edu>
Sat, 10 Sep 2016 02:34:02 +0000 (22:34 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 7 Oct 2016 13:23:40 +0000 (15:23 +0200)
commit 666ca3d8f19082f40745d75f3cc7cc0200ee87e3 upstream.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/nouveau/nvkm/engine/fifo/dmanv04.c

index bfcc640..b7f4b82 100644 (file)
@@ -36,7 +36,10 @@ nv04_fifo_dma_object_dtor(struct nvkm_fifo_chan *base, int cookie)
 {
        struct nv04_fifo_chan *chan = nv04_fifo_chan(base);
        struct nvkm_instmem *imem = chan->fifo->base.engine.subdev.device->imem;
+
+       mutex_lock(&chan->fifo->base.engine.subdev.mutex);
        nvkm_ramht_remove(imem->ramht, cookie);
+       mutex_unlock(&chan->fifo->base.engine.subdev.mutex);
 }
 
 static int