aboutsummaryrefslogtreecommitdiff
path: root/board/menlo/m53menlo/m53menlo.c
diff options
context:
space:
mode:
Diffstat (limited to 'board/menlo/m53menlo/m53menlo.c')
-rw-r--r--board/menlo/m53menlo/m53menlo.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/board/menlo/m53menlo/m53menlo.c b/board/menlo/m53menlo/m53menlo.c
index 58a564ac314..d4288a2c573 100644
--- a/board/menlo/m53menlo/m53menlo.c
+++ b/board/menlo/m53menlo/m53menlo.c
@@ -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;
}