summaryrefslogtreecommitdiff
path: root/nouveau/nouveau_channel.c
diff options
context:
space:
mode:
Diffstat (limited to 'nouveau/nouveau_channel.c')
-rw-r--r--nouveau/nouveau_channel.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/nouveau/nouveau_channel.c b/nouveau/nouveau_channel.c
index 638aee30..14cf4c6f 100644
--- a/nouveau/nouveau_channel.c
+++ b/nouveau/nouveau_channel.c
@@ -102,6 +102,7 @@ nouveau_channel_free(struct nouveau_channel **chan)
struct nouveau_channel_priv *nvchan;
struct nouveau_device_priv *nvdev;
struct drm_nouveau_channel_free cf;
+ int i;
if (!chan || !*chan)
return;
@@ -115,6 +116,9 @@ nouveau_channel_free(struct nouveau_channel **chan)
nouveau_bo_unmap(nvchan->notifier_bo);
nouveau_bo_ref(NULL, &nvchan->notifier_bo);
+ for (i = 0; i < nvchan->drm.nr_subchan; i++)
+ free(nvchan->base.subc[i].gr);
+
nouveau_grobj_free(&nvchan->base.vram);
nouveau_grobj_free(&nvchan->base.gart);
nouveau_grobj_free(&nvchan->base.nullobj);