xilinx: common: Free allocated structure
authorMichal Simek <michal.simek@xilinx.com>
Fri, 13 Aug 2021 07:17:10 +0000 (09:17 +0200)
committerMichal Simek <michal.simek@xilinx.com>
Thu, 26 Aug 2021 06:14:43 +0000 (08:14 +0200)
There is no need to keep fru_content around. Free this space.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
board/xilinx/common/board.c

index 44c8aa5..2aecb14 100644 (file)
@@ -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)