From: Michal Simek Date: Thu, 12 Aug 2021 09:03:49 +0000 (+0200) Subject: xilinx: fru: Replace spaces with \0 in detected name X-Git-Url: http://git.dujemihanovic.xyz/img/static/gitweb.css?a=commitdiff_plain;h=530560b6f8eb06f89ee6d940701a24747bf12d2b;p=u-boot.git xilinx: fru: Replace spaces with \0 in detected name FRU spec expected \0 for unused symbols but unfortunately a lot of boards are using spaces instead of \0. That's why after saving it to desc->name name is checked again and all spaces are converted to \0. This will ensure that names can be used for string manipulations like concatenation. Signed-off-by: Michal Simek --- diff --git a/board/xilinx/common/board.c b/board/xilinx/common/board.c index 90c87bab5c..1458b31c21 100644 --- a/board/xilinx/common/board.c +++ b/board/xilinx/common/board.c @@ -168,7 +168,7 @@ static bool xilinx_detect_legacy(u8 *buffer) static int xilinx_read_eeprom_fru(struct udevice *dev, char *name, struct xilinx_board_description *desc) { - int ret, eeprom_size; + int i, ret, eeprom_size; u8 *fru_content; /* FIXME this is shortcut - if eeprom type is wrong it will fail */ @@ -207,6 +207,10 @@ static int xilinx_read_eeprom_fru(struct udevice *dev, char *name, sizeof(desc->manufacturer)); strncpy(desc->name, (char *)fru_data.brd.product_name, sizeof(desc->name)); + for (i = 0; i < sizeof(desc->name); i++) { + if (desc->name[i] == ' ') + desc->name[i] = '\0'; + } strncpy(desc->revision, (char *)fru_data.brd.rev, sizeof(desc->revision)); strncpy(desc->serial, (char *)fru_data.brd.serial_number,