diff options
author | Lokesh Vutla <lokeshvutla@ti.com> | 2016-07-19 14:56:14 +0530 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2016-07-22 14:46:25 -0400 |
commit | 3cc1f380e518999e68fa64d200d19063f31cb023 (patch) | |
tree | 761296aadff9919413ba6cae4dc30b75e48001f5 | |
parent | 2b9ec762c4fb5c0f933f5b3380ef9f5c353d0eef (diff) | |
download | u-boot-imx-3cc1f380e518999e68fa64d200d19063f31cb023.zip u-boot-imx-3cc1f380e518999e68fa64d200d19063f31cb023.tar.gz u-boot-imx-3cc1f380e518999e68fa64d200d19063f31cb023.tar.bz2 |
spl: fit: Fix the number of bytes read in raw mode
In raw mode a full sector is to be read even if image covers part of
a sector. Number of sectors are calculated as ROUND_UP(size)/sec_size by FIT
framework. This calculation assumes that image is at the 0th offset of a sector,
which is not true always in FIT case. So, include the image offset while
calculating number of sectors.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
-rw-r--r-- | common/spl/spl_fit.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/common/spl/spl_fit.c b/common/spl/spl_fit.c index 069e94d..be86072 100644 --- a/common/spl/spl_fit.c +++ b/common/spl/spl_fit.c @@ -115,8 +115,10 @@ static int get_aligned_image_overhead(struct spl_load_info *info, int offset) static int get_aligned_image_size(struct spl_load_info *info, int data_size, int offset) { + data_size = data_size + get_aligned_image_overhead(info, offset); + if (info->filename) - return data_size + get_aligned_image_overhead(info, offset); + return data_size; return (data_size + info->bl_len - 1) / info->bl_len; } |