[PATCH] ioremap balanced with iounmap for drivers/video/S3triofb
authorAmol Lad <amol@verismonetworks.com>
Fri, 8 Dec 2006 10:40:16 +0000 (02:40 -0800)
committerLinus Torvalds <torvalds@woody.osdl.org>
Fri, 8 Dec 2006 16:29:05 +0000 (08:29 -0800)
ioremap must be balanced by an iounmap and failing to do so can result in a
memory leak.

Signed-off-by: Amol Lad <amol@verismonetworks.com>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/video/S3triofb.c

index 397005eb392df2ff5e2044f54df3bb99cb029962..b3717c8f1bc2b474585b4c8afff35c6b7a2f1f2c 100644 (file)
@@ -535,8 +535,11 @@ static void __init s3triofb_of_init(struct device_node *dp)
 #endif
 
     fb_info.flags = FBINFO_FLAG_DEFAULT;
-    if (register_framebuffer(&fb_info) < 0)
-       return;
+    if (register_framebuffer(&fb_info) < 0) {
+               iounmap(fb_info.screen_base);
+               fb_info.screen_base = NULL;
+               return;
+    }
 
     printk("fb%d: S3 Trio frame buffer device on %s\n",
           fb_info.node, dp->full_name);