mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-28 15:41:40 +00:00
xilinx: board: Fix xilinx_eeprom_legacy_cleanup()
When ethernet mac address contains 0x20 or 0xff MAC address is changed and bytes are converted to zeros. That's why fix decoding algorithm to ignore fields where MAC address is stored and all non printable chars (including space) are zeroed. Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/2802cf1086b14c181356810006fe886f950a36f3.1674573561.git.michal.simek@amd.com
This commit is contained in:
parent
b86b135fc6
commit
e6c62537db
1 changed files with 6 additions and 2 deletions
|
@ -102,9 +102,13 @@ static void xilinx_eeprom_legacy_cleanup(char *eeprom, int size)
|
|||
for (i = 0; i < size; i++) {
|
||||
byte = eeprom[i];
|
||||
|
||||
/* Remove all ffs and spaces */
|
||||
if (byte == 0xff || byte == ' ')
|
||||
/* Remove all non printable chars but ignore MAC address */
|
||||
if ((i < offsetof(struct xilinx_legacy_format, eth_mac) ||
|
||||
i >= offsetof(struct xilinx_legacy_format, unused1)) &&
|
||||
(byte < '!' || byte > '~')) {
|
||||
eeprom[i] = 0;
|
||||
continue;
|
||||
}
|
||||
|
||||
/* Convert strings to lower case */
|
||||
if (byte >= 'A' && byte <= 'Z')
|
||||
|
|
Loading…
Reference in a new issue