Skip to content
Snippets Groups Projects
Commit fecb5ade authored by Jason Jin's avatar Jason Jin Committed by Wolfgang Denk
Browse files

Fix the NAND size overflow issue.


When the total size of all NAND devices exceeds 4 GiB, the size  will
overflow. This patch tries to fix this.

Note that we still have a problem when a single NAND device is bigger
than 4 GiB: then the overflow would actually happen earlier, i. e.
when storing the size in nand_info[].size, as nand_info[].size is an
"u_int32_t".

Signed-off-by: default avatarJason Jin <Jason.jin@freescale.com>
Signed-off-by: default avatarWolfgang Denk <wd@denx.de>
parent 65d4a75f
No related branches found
No related tags found
No related merge requests found
......@@ -63,11 +63,11 @@ void nand_init(void)
unsigned int size = 0;
for (i = 0; i < CFG_MAX_NAND_DEVICE; i++) {
nand_init_chip(&nand_info[i], &nand_chip[i], base_address[i]);
size += nand_info[i].size;
size += nand_info[i].size / 1024;
if (nand_curr_device == -1)
nand_curr_device = i;
}
printf("%u MiB\n", size / (1024 * 1024));
printf("%u MiB\n", size / 1024);
#ifdef CFG_NAND_SELECT_DEVICE
/*
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment