drm/nouveau: fix engine context destructor ordering
authorBen Skeggs <bskeggs@redhat.com>
Thu, 3 May 2012 06:54:15 +0000 (16:54 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Thu, 24 May 2012 06:55:55 +0000 (16:55 +1000)
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nouveau_channel.c

index d25dc249535b0fd5fbc1507d2e753a2fb97b7a34..5762547ed8affbf6879307b31237e82a8fb68766 100644 (file)
@@ -307,8 +307,7 @@ nouveau_channel_put_unlocked(struct nouveau_channel **pchan)
        pfifo->reassign(dev, false);
 
        /* destroy the engine specific contexts */
-       pfifo->destroy_context(chan);
-       for (i = 0; i < NVOBJ_ENGINE_NR; i++) {
+       for (i = NVOBJ_ENGINE_NR - 1; i >= 0; i--) {
                if (chan->engctx[i])
                        dev_priv->eng[i]->context_del(chan, i);
                /*XXX: clean this up later, order is important */