]> Pileus Git - ~andy/linux/blobdiff - drivers/video/atafb.c
Merge branch 'for_paulus' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc
[~andy/linux] / drivers / video / atafb.c
index 02c41a626fa25c2fa5d280e527fb3f8e6236ff71..602db660bc73d7bb2ef41a8246bd05e10afdd609 100644 (file)
@@ -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);