util/nvmutil: optimise cmd_swap()

On many Lenovo GbE regions (in factory firmware), part 0 is
invalid but part 1 is valid.

This change means part 1 is checked first. If part 1 is valid,
part 0 won't be checked at all (due to how most C compilers
optimise).

Most people are just going to extract the factory GbE file,
modify it and re-insert it into the ROM image, so this causes
a nice speedup.
fsdg20230625
Leah Rowe 2023-01-27 14:26:24 +00:00
parent ef84329a81
commit 24d5645676
1 changed files with 1 additions and 6 deletions

View File

@ -351,12 +351,7 @@ cmd_brick(void)
void
cmd_swap(void)
{
int part0, part1;
part0 = validChecksum(0);
part1 = validChecksum(1);
if (part0 || part1) {
if (validChecksum(1) || validChecksum(0)) {
gbe[0] ^= gbe[1];
gbe[1] ^= gbe[0];
gbe[0] ^= gbe[1];