summaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
authorLeah Rowe <leah@libreboot.org>2026-03-06 19:35:54 +0000
committerLeah Rowe <leah@libreboot.org>2026-03-06 19:35:54 +0000
commitf316701d74cdb7e446cf560b70b1af62c3773f22 (patch)
treedcb70be3d09a1bc6912b7293559bff5c213fdb2d /util
parentc6c4e5303e6ae07ec6e4cf33d36fa58dd5ed2774 (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>
Diffstat (limited to 'util')
-rw-r--r--util/nvmutil/nvmutil.c14
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