aboutsummaryrefslogtreecommitdiffstats
path: root/fs/jffs2/build.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/jffs2/build.c')
-rw-r--r--fs/jffs2/build.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/fs/jffs2/build.c b/fs/jffs2/build.c
index f08984a64a5a..8e2f1f4e8aa3 100644
--- a/fs/jffs2/build.c
+++ b/fs/jffs2/build.c
@@ -7,7 +7,7 @@
7 * 7 *
8 * For licensing information, see the file 'LICENCE' in this directory. 8 * For licensing information, see the file 'LICENCE' in this directory.
9 * 9 *
10 * $Id: build.c,v 1.75 2005/07/22 10:32:07 dedekind Exp $ 10 * $Id: build.c,v 1.76 2005/07/30 15:29:27 lunn Exp $
11 * 11 *
12 */ 12 */
13 13
@@ -317,9 +317,11 @@ int jffs2_do_mount_fs(struct jffs2_sb_info *c)
317 317
318 c->free_size = c->flash_size; 318 c->free_size = c->flash_size;
319 c->nr_blocks = c->flash_size / c->sector_size; 319 c->nr_blocks = c->flash_size / c->sector_size;
320#ifndef __ECOS
320 if (c->mtd->flags & MTD_NO_VIRTBLOCKS) 321 if (c->mtd->flags & MTD_NO_VIRTBLOCKS)
321 c->blocks = vmalloc(sizeof(struct jffs2_eraseblock) * c->nr_blocks); 322 c->blocks = vmalloc(sizeof(struct jffs2_eraseblock) * c->nr_blocks);
322 else 323 else
324#endif
323 c->blocks = kmalloc(sizeof(struct jffs2_eraseblock) * c->nr_blocks, GFP_KERNEL); 325 c->blocks = kmalloc(sizeof(struct jffs2_eraseblock) * c->nr_blocks, GFP_KERNEL);
324 if (!c->blocks) 326 if (!c->blocks)
325 return -ENOMEM; 327 return -ENOMEM;
@@ -353,11 +355,13 @@ int jffs2_do_mount_fs(struct jffs2_sb_info *c)
353 D1(printk(KERN_DEBUG "build_fs failed\n")); 355 D1(printk(KERN_DEBUG "build_fs failed\n"));
354 jffs2_free_ino_caches(c); 356 jffs2_free_ino_caches(c);
355 jffs2_free_raw_node_refs(c); 357 jffs2_free_raw_node_refs(c);
356 if (c->mtd->flags & MTD_NO_VIRTBLOCKS) { 358#ifndef __ECOS
357 vfree(c->blocks); 359 if (c->mtd->flags & MTD_NO_VIRTBLOCKS)
358 } else { 360 vfree(c->blocks);
359 kfree(c->blocks); 361 else
360 } 362#endif
363 kfree(c->blocks);
364
361 return -EIO; 365 return -EIO;
362 } 366 }
363 367