diff options
| author | Leah Rowe <leah@libreboot.org> | 2026-03-06 19:35:54 +0000 |
|---|---|---|
| committer | Leah Rowe <leah@libreboot.org> | 2026-03-06 19:35:54 +0000 |
| commit | f316701d74cdb7e446cf560b70b1af62c3773f22 (patch) | |
| tree | dcb70be3d09a1bc6912b7293559bff5c213fdb2d | |
| parent | c6c4e5303e6ae07ec6e4cf33d36fa58dd5ed2774 (diff) | |
util/nvmutil: don't set part in write_mac_part
make a helper for cmd_setchecksum with size_t arg,
and use it in write_mac_part.
Signed-off-by: Leah Rowe <leah@libreboot.org>
| -rw-r--r-- | util/nvmutil/nvmutil.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/util/nvmutil/nvmutil.c b/util/nvmutil/nvmutil.c index 17a00aca..dfdbac20 100644 --- a/util/nvmutil/nvmutil.c +++ b/util/nvmutil/nvmutil.c @@ -35,6 +35,7 @@ static void cmd_dump(void); static void print_mac_address(size_t); static void hexdump(size_t); static void cmd_setchecksum(void); +static void set_checksum(size_t); static void cmd_brick(void); static void cmd_copy(void); static void cmd_swap(void); @@ -539,7 +540,6 @@ write_mac_part(size_t partnum) { size_t w; - part = partnum; if (!good_checksum(partnum)) return 0; @@ -549,7 +549,7 @@ write_mac_part(size_t partnum) printf("Wrote MAC address to part %zu: ", partnum); print_mac_address(partnum); - cmd_setchecksum(); + set_checksum(partnum); return 1; } @@ -608,13 +608,19 @@ hexdump(size_t partnum) static void cmd_setchecksum(void) { + set_checksum(part); +} + +static void +set_checksum(size_t p) +{ size_t c; uint16_t val16 = 0; for (c = 0; c < NVM_CHECKSUM_WORD; c++) - val16 += word(c, part); + val16 += word(c, p); - set_word(NVM_CHECKSUM_WORD, part, NVM_CHECKSUM - val16); + set_word(NVM_CHECKSUM_WORD, p, NVM_CHECKSUM - val16); } static void |
