From: Lokesh Vutla Date: Tue, 19 Jul 2016 09:26:14 +0000 (+0530) Subject: spl: fit: Fix the number of bytes read in raw mode X-Git-Url: http://git.dujemihanovic.xyz/%22http:/www.sics.se/static/git-favicon.png?a=commitdiff_plain;h=3cc1f380e518999e68fa64d200d19063f31cb023;p=u-boot.git 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 Reviewed-by: Tom Rini --- diff --git a/common/spl/spl_fit.c b/common/spl/spl_fit.c index 069e94d529..be86072c24 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; }