diff options
authorLokesh Vutla <>2016-07-19 14:56:14 +0530
committerKlaus Goger <>2016-09-18 20:22:05 +0200
commit8c52e6d902990517fe67cbd7d8581df45c8335a1 (patch)
parentef86fa9a11fc1f92cd682deb46e127c8f274eb73 (diff)
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 <>
1 files changed, 3 insertions, 1 deletions
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;