diff --git a/[refs] b/[refs] index f8e9fea3e9be..19e53a6064ec 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b2a85aebf9d6cb671085d58dfbbd7b11269d49eb +refs/heads/master: 6792951b6ad13d7b2fff71ae7d2982b2fa1d6788 diff --git a/trunk/drivers/video/atafb.c b/trunk/drivers/video/atafb.c index 02c41a626fa2..602db660bc73 100644 --- a/trunk/drivers/video/atafb.c +++ b/trunk/drivers/video/atafb.c @@ -2804,8 +2804,19 @@ int __init atafb_init(void) atafb_set_disp(-1, &fb_info); do_install_cmap(0, &fb_info); - if (register_framebuffer(&fb_info) < 0) + if (register_framebuffer(&fb_info) < 0) { +#ifdef ATAFB_EXT + if (external_addr) { + iounmap(external_addr); + external_addr = NULL; + } + if (external_vgaiobase) { + iounmap((void*)external_vgaiobase); + external_vgaiobase = 0; + } +#endif return -EINVAL; + } printk("Determined %dx%d, depth %d\n", disp.var.xres, disp.var.yres, disp.var.bits_per_pixel);