
There is no need to keep fru_content around. Free this space.
Signed-off-by: Michal Simek michal.simek@xilinx.com ---
Changes in v2: None
board/xilinx/common/board.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/board/xilinx/common/board.c b/board/xilinx/common/board.c index 44c8aa5eefbb..2aecb14d8e27 100644 --- a/board/xilinx/common/board.c +++ b/board/xilinx/common/board.c @@ -185,8 +185,7 @@ static int xilinx_read_eeprom_fru(struct udevice *dev, char *name, eeprom_size); if (ret) { debug("%s: I2C EEPROM read failed\n", __func__); - free(fru_content); - return ret; + goto end; }
printf("Xilinx I2C FRU format at %s:\n", name); @@ -194,12 +193,13 @@ static int xilinx_read_eeprom_fru(struct udevice *dev, char *name, ret = fru_display(0); if (ret) { printf("FRU format decoding failed.\n"); - return ret; + goto end; }
if (desc->header == EEPROM_HEADER_MAGIC) { debug("Information already filled\n"); - return -EINVAL; + ret = -EINVAL; + goto end; }
/* It is clear that FRU was captured and structures were filled */ @@ -217,7 +217,9 @@ static int xilinx_read_eeprom_fru(struct udevice *dev, char *name, sizeof(desc->serial)); desc->header = EEPROM_HEADER_MAGIC;
- return 0; +end: + free(fru_content); + return ret; }
static bool xilinx_detect_fru(u8 *buffer)