diff options
author | Pali Rohár <pali@kernel.org> | 2023-03-23 20:57:53 +0100 |
---|---|---|
committer | Stefan Roese <sr@denx.de> | 2023-03-24 13:13:41 +0100 |
commit | 2b7852c2aadf946405e933ee067c4c36f15393d1 (patch) | |
tree | ef90557b4a1eaf125c8b1a7295ee3b124a5b4694 /tools/kwboot.c | |
parent | 848d9a5eaaf82d8394b6fab1bda6dd3eb7c5ce45 (diff) | |
download | u-boot-2b7852c2aadf946405e933ee067c4c36f15393d1.zip u-boot-2b7852c2aadf946405e933ee067c4c36f15393d1.tar.gz u-boot-2b7852c2aadf946405e933ee067c4c36f15393d1.tar.bz2 |
tools: kwboot: Fix inserting UART data checksum without -B option
Commit 7665ed2fa04e ("tools: kwboot: Fix parsing UART image without data
checksum") added fixup code to insert place for data checksum if UART image
does not have it. Together with option -B (change baudrate), kwboot
calculates this checksum. Without option -B, it inserts only place for
checksum but does not calculate it.
This commit fix above logic and calculate data checksum also when kwboot is
used without -B option.
Fixes: 7665ed2fa04e ("tools: kwboot: Fix parsing UART image without data checksum")
Signed-off-by: Pali Rohár <pali@kernel.org>
Reviewed-by: Stefan Roese <sr@denx.de>
Diffstat (limited to 'tools/kwboot.c')
-rw-r--r-- | tools/kwboot.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/tools/kwboot.c b/tools/kwboot.c index ef108c8..61a9c30 100644 --- a/tools/kwboot.c +++ b/tools/kwboot.c @@ -2079,6 +2079,8 @@ kwboot_img_patch(void *img, size_t *size, int baudrate) goto err; } kwboot_img_grow_data_right(img, size, sizeof(uint32_t)); + /* Update the 32-bit data checksum */ + *kwboot_img_csum32_ptr(img) = kwboot_img_csum32(img); } if (!kwboot_img_has_ddr_init(img) && |