[PATCH] xilinx: common: Fix MAC address read from EEPROM
Petr Zejdl
petr.zejdl at cern.ch
Thu Apr 4 13:44:22 CEST 2024
The upper-to-lowercase character conversion now avoids altering the
MAC address field. In the previous version, this alteration corrupted
the MAC address.
Signed-off-by: Petr Zejdl <petr.zejdl at cern.ch>
---
board/xilinx/common/board.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/board/xilinx/common/board.c b/board/xilinx/common/board.c
index 66edf857f1..49dc5d10cc 100644
--- a/board/xilinx/common/board.c
+++ b/board/xilinx/common/board.c
@@ -101,10 +101,14 @@ static void xilinx_eeprom_legacy_cleanup(char *eeprom, int size)
for (i = 0; i < size; i++) {
byte = eeprom[i];
- /* 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 > '~')) {
+ /* Ignore MAC address */
+ if (i >= offsetof(struct xilinx_legacy_format, eth_mac) &&
+ i < offsetof(struct xilinx_legacy_format, unused1)) {
+ continue;
+ }
+
+ /* Remove all non printable chars */
+ if (byte < '!' || byte > '~') {
eeprom[i] = 0;
continue;
}
--
2.31.1
More information about the U-Boot
mailing list