diff options
author | Michal Simek <michal.simek@xilinx.com> | 2021-08-12 12:03:49 +0300 |
---|---|---|
committer | Michal Simek <michal.simek@xilinx.com> | 2021-08-26 09:14:42 +0300 |
commit | 530560b6f8eb06f89ee6d940701a24747bf12d2b (patch) | |
tree | befd3dbc31fb65387d48bfbce9193841ad6319db | |
parent | edd530651a0045c53b18fde413db7fd8dc3693be (diff) | |
download | u-boot-530560b6f8eb06f89ee6d940701a24747bf12d2b.tar.xz |
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 <michal.simek@xilinx.com>
-rw-r--r-- | board/xilinx/common/board.c | 6 |
1 files changed, 5 insertions, 1 deletions
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, |