summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMingkai Hu <Mingkai.hu@freescale.com>2009-07-30 17:56:51 +0800
committerWolfgang Denk <wd@denx.de>2009-08-21 22:55:47 +0200
commit269610f6ba2e4a7bc27d2e53d43160614016964f (patch)
tree40216b21010131b2a29da7ce4b3e358d02ad970d
parent1fc1d9aed08f2b3366d634fda6712a710b2cff9a (diff)
downloadu-boot-imx-269610f6ba2e4a7bc27d2e53d43160614016964f.zip
u-boot-imx-269610f6ba2e4a7bc27d2e53d43160614016964f.tar.gz
u-boot-imx-269610f6ba2e4a7bc27d2e53d43160614016964f.tar.bz2
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>
-rw-r--r--nand_spl/nand_boot_fsl_elbc.c2
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));
}
}