diff options
author | Mingkai Hu <Mingkai.hu@freescale.com> | 2009-07-30 09:56:51 (GMT) |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2009-08-21 20:55:47 (GMT) |
commit | 269610f6ba2e4a7bc27d2e53d43160614016964f (patch) | |
tree | 40216b21010131b2a29da7ce4b3e358d02ad970d /nand_spl | |
parent | 1fc1d9aed08f2b3366d634fda6712a710b2cff9a (diff) | |
download | u-boot-269610f6ba2e4a7bc27d2e53d43160614016964f.tar.xz |
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>
Diffstat (limited to 'nand_spl')
-rw-r--r-- | nand_spl/nand_boot_fsl_elbc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/nand_spl/nand_boot_fsl_elbc.c b/nand_spl/nand_boot_fsl_elbc.c index 0d0c44e..7f14a6f 100644 --- a/nand_spl/nand_boot_fsl_elbc.c +++ b/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)); } } |