Browse Source

NAND boot: fix nand_load overlap issue

The code copy data from NAND flash block by block, so when
the data length isn't a whole-number multiple of the block
size, it will overlap the rest space.

Signed-off-by: Mingkai Hu <Mingkai.hu@freescale.com>
Signed-off-by: Scott Wood <scottwood@freescale.com>
Mingkai Hu 16 years ago
parent
commit
269610f6ba
1 changed files with 1 additions and 1 deletions
  1. 1 1
      nand_spl/nand_boot_fsl_elbc.c

+ 1 - 1
nand_spl/nand_boot_fsl_elbc.c

@@ -120,7 +120,7 @@ static void nand_load(unsigned int offs, int uboot_size, uchar *dst)
 
 			pos += page_size;
 			offs += page_size;
-		} while (offs & (block_size - 1));
+		} while ((offs & (block_size - 1)) && (pos < uboot_size));
 	}
 }