amifb: check fb_alloc_cmap return value and handle failure properly

Signed-off-by: Andres Salomon <dilinger@debian.org>
Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Andres Salomon 2009-03-31 15:25:30 -07:00 committed by Linus Torvalds
parent 909baf0092
commit eb8972b440

View file

@ -2437,7 +2437,9 @@ default_chipset:
goto amifb_error; goto amifb_error;
} }
fb_alloc_cmap(&fb_info.cmap, 1<<fb_info.var.bits_per_pixel, 0); err = fb_alloc_cmap(&fb_info.cmap, 1<<fb_info.var.bits_per_pixel, 0);
if (err)
goto amifb_error;
if (register_framebuffer(&fb_info) < 0) { if (register_framebuffer(&fb_info) < 0) {
err = -EINVAL; err = -EINVAL;
@ -2456,7 +2458,8 @@ amifb_error:
static void amifb_deinit(void) static void amifb_deinit(void)
{ {
fb_dealloc_cmap(&fb_info.cmap); if (fb_info.cmap.len)
fb_dealloc_cmap(&fb_info.cmap);
chipfree(); chipfree();
if (videomemory) if (videomemory)
iounmap((void*)videomemory); iounmap((void*)videomemory);