mtd/drivers/mtd redboot.c,1.19,1.20

David Woodhouse dwmw2 at infradead.org
Wed Mar 29 03:43:24 EST 2006


Update of /home/cvs/mtd/drivers/mtd
In directory phoenix.infradead.org:/tmp/cvs-serv4099/drivers/mtd

Modified Files:
	redboot.c 
Log Message:
mtd/redboot: Handle holes in fis table

From: Peter Korsgaard <jacmet at sunsite.dk>

Redboot simply sets the first character of a fis entry to 0xff on "fis
delete".  The kernel redboot parser stops parsing on such an entry, and
without this patch any entries after a deleted image would not be 
detected.

Signed-off-by: Peter Korsgaard <jacmet at sunsite.dk>
Cc: Thomas Gleixner <tglx at linutronix.de>
Signed-off-by: David Woodhouse <dwmw2 at infradead.org>
Signed-off-by: Andrew Morton <akpm at osdl.org>


Index: redboot.c
===================================================================
RCS file: /home/cvs/mtd/drivers/mtd/redboot.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- redboot.c	1 Dec 2005 10:03:51 -0000	1.19
+++ redboot.c	29 Mar 2006 08:43:21 -0000	1.20
@@ -85,10 +85,6 @@
 
 	numslots = (master->erasesize / sizeof(struct fis_image_desc));
 	for (i = 0; i < numslots; i++) {
-		if (buf[i].name[0] == 0xff) {
-			i = numslots;
-			break;
-		}
 		if (!memcmp(buf[i].name, "FIS directory", 14)) {
 			/* This is apparently the FIS directory entry for the
 			 * FIS directory itself.  The FIS directory size is
@@ -128,7 +124,7 @@
 		struct fis_list *new_fl, **prev;
 
 		if (buf[i].name[0] == 0xff)
-			break;
+			continue;
 		if (!redboot_checksum(&buf[i]))
 			break;
 





More information about the linux-mtd-cvs mailing list