diff options
author | Arthur Heymans <arthur@aheymans.xyz> | 2022-03-23 19:58:44 +0100 |
---|---|---|
committer | Arthur Heymans <arthur@aheymans.xyz> | 2022-04-01 09:29:19 +0000 |
commit | 8b82c6b91bc5d9c78504b50b537feef424b6043a (patch) | |
tree | bb999c1f4ae9c0177320f812e4e20c2a327184f4 /util/cbfstool | |
parent | dd6b0610e3013563e0c326936cc92e3e384525a9 (diff) |
util/ifittool: Fix clearing FIT when setting the pointer
When setting the FIT pointer, the FIT table is only known later in the
codeflow.
Change-Id: I658f4fffa997d1f7beaf6d6ae37d2885ae602e5c
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/63035
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Reviewed-by: Sean Rhodes <sean@starlabs.systems>
Reviewed-by: Michael Niewöhner <foss@mniewoehner.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'util/cbfstool')
-rw-r--r-- | util/cbfstool/ifittool.c | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/util/cbfstool/ifittool.c b/util/cbfstool/ifittool.c index c2a5221f0c..88a973c5af 100644 --- a/util/cbfstool/ifittool.c +++ b/util/cbfstool/ifittool.c @@ -308,13 +308,12 @@ int main(int argc, char *argv[]) ERROR("FIT not found.\n"); return 1; } - } - - if (clear_table) { - if (fit_clear_table(fit)) { - partitioned_file_close(image_file); - ERROR("Failed to clear table.\n"); - return 1; + if (clear_table) { + if (fit_clear_table(fit)) { + partitioned_file_close(image_file); + ERROR("Failed to clear table.\n"); + return 1; + } } } @@ -394,6 +393,15 @@ int main(int argc, char *argv[]) return 1; } fit = fit_get_table(&bootblock, convert_to_from_top_aligned, topswap_size); + + if (clear_table) { + if (fit_clear_table(fit)) { + partitioned_file_close(image_file); + ERROR("Failed to clear table.\n"); + return 1; + } + } + break; } case DEL_OP: |