git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge to kernel-2.6.20-1.2949.fc6.vs2.2.0.1
[linux-2.6.git]
/
drivers
/
mtd
/
maps
/
beech-mtd.c
diff --git
a/drivers/mtd/maps/beech-mtd.c
b/drivers/mtd/maps/beech-mtd.c
index
5df7361
..
d76d598
100644
(file)
--- a/
drivers/mtd/maps/beech-mtd.c
+++ b/
drivers/mtd/maps/beech-mtd.c
@@
-72,6
+72,8
@@
static struct mtd_partition beech_partitions[2] = {
static int __init
init_beech_mtd(void)
{
static int __init
init_beech_mtd(void)
{
+ int err;
+
printk("%s: 0x%08x at 0x%08x\n", NAME, SIZE, PADDR);
beech_mtd_map.virt = ioremap(PADDR, SIZE);
printk("%s: 0x%08x at 0x%08x\n", NAME, SIZE, PADDR);
beech_mtd_map.virt = ioremap(PADDR, SIZE);
@@
-86,12
+88,20
@@
init_beech_mtd(void)
printk("%s: probing %d-bit flash bus\n", NAME, BUSWIDTH * 8);
beech_mtd = do_map_probe("cfi_probe", &beech_mtd_map);
printk("%s: probing %d-bit flash bus\n", NAME, BUSWIDTH * 8);
beech_mtd = do_map_probe("cfi_probe", &beech_mtd_map);
- if (!beech_mtd)
+ if (!beech_mtd) {
+ iounmap(beech_mtd_map.virt);
return -ENXIO;
return -ENXIO;
+ }
beech_mtd->owner = THIS_MODULE;
beech_mtd->owner = THIS_MODULE;
- return add_mtd_partitions(beech_mtd, beech_partitions, 2);
+ err = add_mtd_partitions(beech_mtd, beech_partitions, 2);
+ if (err) {
+ printk("%s: add_mtd_partitions failed\n", NAME);
+ iounmap(beech_mtd_map.virt);
+ }
+
+ return err;
}
static void __exit
}
static void __exit