Index: linux-2.6.23.17/drivers/mtd/redboot.c =================================================================== --- linux-2.6.23.17.orig/drivers/mtd/redboot.c +++ linux-2.6.23.17/drivers/mtd/redboot.c @@ -64,6 +64,7 @@ static int parse_redboot_partitions(stru if (!buf) return -ENOMEM; +restart: if ( directory < 0 ) offset = master->size + directory*master->erasesize; else @@ -140,6 +141,11 @@ static int parse_redboot_partitions(stru } if (i == numslots) { /* Didn't find it */ + if (offset + master->erasesize < master->size) { + /* not at the end of the flash yet, maybe next block :) */ + directory++; + goto restart; + } printk(KERN_NOTICE "No RedBoot partition table detected in %s\n", master->name); ret = 0;