summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCristiano De Alti <cristiano_dealti@hotmail.com>2014-02-03 23:27:52 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2014-02-04 08:21:51 +0100
commit4f2f9150b748f278a02c7874e9fc3fd026082581 (patch)
tree202c899c2277a8e64b4f52bed8491c51936d9f24
parent1debe41a930b44373c53d473937791cf89a1bba5 (diff)
downloadbarebox-4f2f9150b748f278a02c7874e9fc3fd026082581.tar.gz
barebox-4f2f9150b748f278a02c7874e9fc3fd026082581.tar.xz
cfi_flash.c: correct calculation of region erasesize and offset for multiple (size_ratio > 1) chips in parallel
Signed-off-by: Cristiano De Alti <cristiano_dealti@hotmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--drivers/mtd/nor/cfi_flash.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/mtd/nor/cfi_flash.c b/drivers/mtd/nor/cfi_flash.c
index 71dd3c86cb..514eab5e8f 100644
--- a/drivers/mtd/nor/cfi_flash.c
+++ b/drivers/mtd/nor/cfi_flash.c
@@ -404,9 +404,9 @@ static ulong flash_get_size (struct flash_info *info)
erase_region_count, erase_region_size);
region->offset = cur_offset;
- region->erasesize = erase_region_size;
+ region->erasesize = erase_region_size * size_ratio;
region->numblocks = erase_region_count;
- cur_offset += erase_region_size * erase_region_count;
+ cur_offset += erase_region_size * size_ratio * erase_region_count;
/* increase the space malloced for the sector start addresses */
info->start = xrealloc(info->start, sizeof(ulong) * (erase_region_count + sect_cnt));