fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / drivers / mtd / maps / walnut.c
index f46bec6..ca93212 100644 (file)
@@ -20,7 +20,6 @@
 #include <linux/mtd/mtd.h>
 #include <linux/mtd/map.h>
 #include <linux/mtd/partitions.h>
-#include <linux/config.h>
 #include <asm/io.h>
 #include <asm/ibm4xx.h>
 #include <platforms/4xx/walnut.h>
@@ -69,6 +68,7 @@ int __init init_walnut(void)
 
        if (WALNUT_FLASH_ONBD_N(fpga_brds1)) {
                printk("The on-board flash is disabled (U79 sw 5)!");
+               iounmap(fpga_status_adr);
                return -EIO;
        }
        if (WALNUT_FLASH_SRAM_SEL(fpga_brds1))
@@ -82,6 +82,7 @@ int __init init_walnut(void)
 
        if (!walnut_map.virt) {
                printk("Failed to ioremap flash.\n");
+               iounmap(fpga_status_adr);
                return -EIO;
        }
 
@@ -94,9 +95,11 @@ int __init init_walnut(void)
                                        ARRAY_SIZE(walnut_partitions));
        } else {
                printk("map probe failed for flash\n");
+               iounmap(fpga_status_adr);
                return -ENXIO;
        }
 
+       iounmap(fpga_status_adr);
        return 0;
 }