mb/prodrive/hermes: Fix eeprom reading
The logic for bytes to copy to the function input pointer was wrong. What it did was to loop over all 2 bytes that need to be read and only copy the first byte. Change-Id: Ic08cf01d800babd4a9176dfb2337411b789040f3 Signed-off-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-on: https://review.coreboot.org/c/coreboot/+/52207 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com> Reviewed-by: Christian Walter <christian.walter@9elements.com>
This commit is contained in:
parent
fce0954f45
commit
af13a6ed28
|
@ -121,10 +121,9 @@ bool read_write_config(void *blob, size_t read_offset, size_t write_offset, size
|
||||||
|
|
||||||
/* Write to UPD */
|
/* Write to UPD */
|
||||||
uint8_t *writePointer = (uint8_t *)blob + write_offset + i;
|
uint8_t *writePointer = (uint8_t *)blob + write_offset + i;
|
||||||
if (size > 1 && (size % 2 == 0))
|
writePointer[0] = tmp[0];
|
||||||
memcpy(writePointer, tmp, 2);
|
if (size - i > 1)
|
||||||
else
|
writePointer[1] = tmp[1];
|
||||||
*writePointer = tmp[0];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Restore I2C_EN bit */
|
/* Restore I2C_EN bit */
|
||||||
|
|
Loading…
Reference in New Issue