ARM: imx: m53menlo: Do not fail boot on invalid splash screen
authorMarek Vasut <marex@denx.de>
Sat, 30 May 2020 20:44:45 +0000 (22:44 +0200)
committerStefano Babic <sbabic@denx.de>
Mon, 8 Jun 2020 08:42:58 +0000 (10:42 +0200)
None of these splash screen loading errors are so critical as to
justify complete failure to boot, so just print error message as
needed and return 0, the boot can very likely continue without
the splash.

Fix a couple of missing free(dst) instances as well.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: NXP i.MX U-Boot Team <uboot-imx@nxp.com>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
board/menlo/m53menlo/m53menlo.c

index 58a564ac31464ff8a6658c2f134a7dc3dc3b7d22..d4288a2c5730836db9407464b063f495dd04df0c 100644 (file)
@@ -353,24 +353,28 @@ int board_late_init(void)
 
        ret = splash_screen_prepare();
        if (ret < 0)
-               return ret;
+               goto splasherr;
 
        len = CONFIG_SYS_VIDEO_LOGO_MAX_SIZE;
        ret = gunzip(dst + 2, CONFIG_SYS_VIDEO_LOGO_MAX_SIZE - 2,
                     (uchar *)addr, &len);
        if (ret) {
                printf("Error: no valid bmp or bmp.gz image at %lx\n", addr);
-               free(dst);
-               return ret;
+               goto splasherr;
        }
 
        ret = uclass_get_device(UCLASS_VIDEO, 0, &dev);
        if (ret)
-               return ret;
+               goto splasherr;
 
        ret = video_bmp_display(dev, (ulong)dst + 2, xpos, ypos, true);
        if (ret)
-               return ret;
+               goto splasherr;
+
+       return 0;
+
+splasherr:
+       free(dst);
 #endif
        return 0;
 }