From: Andres Salomon <dilinger@queued.net> Date: Tue, 31 Mar 2009 22:25:30 +0000 (-0700) Subject: amifb: check fb_alloc_cmap return value and handle failure properly X-Git-Tag: firefly_0821_release~15015 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=eb8972b4407f81b07ea6fc71fd91f9fc7a35a81e;p=firefly-linux-kernel-4.4.55.git 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> --- diff --git a/drivers/video/amifb.c b/drivers/video/amifb.c index 100f23661465..82bedd7f7789 100644 --- a/drivers/video/amifb.c +++ b/drivers/video/amifb.c @@ -2437,7 +2437,9 @@ default_chipset: 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) { err = -EINVAL; @@ -2456,7 +2458,8 @@ amifb_error: static void amifb_deinit(void) { - fb_dealloc_cmap(&fb_info.cmap); + if (fb_info.cmap.len) + fb_dealloc_cmap(&fb_info.cmap); chipfree(); if (videomemory) iounmap((void*)videomemory);