video/aty/atyfb_base.c: free when fb can't be registered
authorRoel Kluin <12o3l@tiscali.nl>
Mon, 28 Apr 2008 09:15:04 +0000 (02:15 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 28 Apr 2008 15:58:37 +0000 (08:58 -0700)
Free buffer when the framebuffer can't be registered

Signed-off-by: Roel Kluin <12o3l@tiscali.nl>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/video/aty/atyfb_base.c

index 62f9c6e387ccc3de3e65714ccec28c42eb38a7b8..e4bcf5376a9964095d8e18eddbc680b8538acfe7 100644 (file)
@@ -2621,10 +2621,13 @@ static int __devinit aty_init(struct fb_info *info)
 #endif /* CONFIG_FB_ATY_CT */
        info->var = var;
 
-       fb_alloc_cmap(&info->cmap, 256, 0);
+       if (fb_alloc_cmap(&info->cmap, 256, 0) < 0)
+               goto aty_init_exit;
 
-       if (register_framebuffer(info) < 0)
+       if (register_framebuffer(info) < 0) {
+               fb_dealloc_cmap(&info->cmap);
                goto aty_init_exit;
+       }
 
        fb_list = info;