[U-Boot] [PATCH] jffs2: fix hangs/crashs when not using CONFIG_JFFS2_PART_SIZE

Mike Frysinger vapier at gentoo.org
Fri Jan 8 14:03:06 CET 2010


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 at gentoo.org>
---
 common/cmd_jffs2.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/common/cmd_jffs2.c b/common/cmd_jffs2.c
index 372ccb2..6799cca 100644
--- a/common/cmd_jffs2.c
+++ b/common/cmd_jffs2.c
@@ -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);
 
-- 
1.6.6



More information about the U-Boot mailing list