From fd104daa2f818d39d9b53476f7e099fc481ce783 Mon Sep 17 00:00:00 2001 From: Daniel Gimpelevich Date: Fri, 31 Aug 2018 18:14:24 -0700 Subject: mtd: add CRC signature to RedBoot partition map The code for calculating the CRC32 signatures for RedBoot FIS partitions was already included, but for unknown reasons, it was never invoked. Some bootloaders enforce checking these for loaded kernels, so they should be written. This patch does so. Tested-by: Brian Gonyer Signed-off-by: Daniel Gimpelevich --- package/system/mtd/src/fis.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'package/system/mtd/src/fis.c') diff --git a/package/system/mtd/src/fis.c b/package/system/mtd/src/fis.c index b50411cfeb..e314c10258 100644 --- a/package/system/mtd/src/fis.c +++ b/package/system/mtd/src/fis.c @@ -243,14 +243,14 @@ fis_remap(struct fis_part *old, int n_old, struct fis_part *new, int n_new) memset(desc, 0, sizeof(struct fis_image_desc)); memcpy(desc->hdr.name, part->name, sizeof(desc->hdr.name)); desc->crc.desc = 0; - desc->crc.file = 0; + desc->crc.file = part->crc; desc->hdr.flash_base = offset; desc->hdr.mem_base = part->loadaddr; desc->hdr.entry_point = part->loadaddr; desc->hdr.size = (part->size > 0) ? part->size : size; - desc->hdr.data_length = desc->hdr.size; - + desc->hdr.data_length = (part->length > 0) ? part->length : + desc->hdr.size; offset += desc->hdr.size; size -= desc->hdr.size; } -- cgit v1.2.3