jffs2: fix hangs/crashs when not using CONFIG_JFFS2_PART_SIZE
authorMike Frysinger <vapier@gentoo.org>
Fri, 8 Jan 2010 13:03:06 +0000 (08:03 -0500)
committerWolfgang Denk <wd@denx.de>
Mon, 25 Jan 2010 23:07:50 +0000 (00:07 +0100)
Commit b5b004ad8a0ac6f98bd5708ec8b22fbddd1c1042 caused the sector_size to
be calculated incorrectly when the part size was not hardcoded.  This is
because the new code relied on part->size but tried to do the calculation
before it was initialized properly, and it did not take into consideration
the magic SIZE_REMAINING define.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
common/cmd_jffs2.c

index 372ccb2aa3cba4279ac5475eb2457007bf4d87df..6799ccaa0acb15db19c61c8d8e6a46a6436ae82b 100644 (file)
@@ -406,8 +406,6 @@ int mtdparts_init(void)
                part->offset = 0x00000000;
 #endif
 
-               part->sector_size = get_part_sector_size(id, part);
-
                part->dev = current_mtd_dev;
                INIT_LIST_HEAD(&part->link);
 
@@ -415,6 +413,8 @@ int mtdparts_init(void)
                if (part->size == SIZE_REMAINING)
                        part->size = id->size - part->offset;
 
+               part->sector_size = get_part_sector_size(id, part);
+
                DEBUGF("part  : name = %s, size = 0x%08lx, offset = 0x%08lx\n",
                                part->name, part->size, part->offset);