From a03dcc21040775e660afcfc3dc37a324d2dd2ed3 Mon Sep 17 00:00:00 2001 From: Marcin Slusarz Date: Tue, 12 Jan 2010 15:32:39 +0100 Subject: nouveau: fix memory leak in nouveau_channel_free --- nouveau/nouveau_channel.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'nouveau') 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); -- cgit v1.2.3