summary refs log tree commit diff
path: root/drivers/video
diff options
context:
space:
mode:
authorAndres Salomon <dilinger@queued.net>2009-03-31 15:25:20 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2009-04-01 08:59:30 -0700
commitd4bc4e8af0a4a34c713f8c1a33a78cedffe8e0b7 (patch)
tree564a2cc2de3f7b87079a9945c701ebd3b107cf6d /drivers/video
parent6a7f2829b5f8be124e168265f176dbbbea8861a0 (diff)
downloadlinux-d4bc4e8af0a4a34c713f8c1a33a78cedffe8e0b7.tar.gz
drivers/video/sgivwfb.c: fix memory leaks in removal path
We were leaking both the cmap memory and the info struct memory.

Signed-off-by: Andres Salomon <dilinger@debian.org>
Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/sgivwfb.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/video/sgivwfb.c b/drivers/video/sgivwfb.c
index f5252c2552fd..bba53714a7b1 100644
--- a/drivers/video/sgivwfb.c
+++ b/drivers/video/sgivwfb.c
@@ -837,6 +837,8 @@ static int sgivwfb_remove(struct platform_device *dev)
 		iounmap(par->regs);
 		iounmap(info->screen_base);
 		release_mem_region(DBE_REG_PHYS, DBE_REG_SIZE);
+		fb_dealloc_cmap(&info->cmap);
+		framebuffer_release(info);
 	}
 	return 0;
 }