|
@@ -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);
|