diff mbox

[U-Boot] video: cfb_console: fix hang if splashimage file is missing

Message ID 1480512659-8710-1-git-send-email-agust@denx.de
State Accepted
Commit b4fc6f221474e2bc9f3e4af52556fd4ab5cbb9b9
Delegated to: Anatolij Gustschin
Headers show

Commit Message

Anatolij Gustschin Nov. 30, 2016, 1:30 p.m. UTC
If the splash file doesn't exist, the booting stops bricking
the boards. Check return value of prepare function and stop
decoding the logo data if splash prepare stage failed.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
---
 drivers/video/cfb_console.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Comments

Anatolij Gustschin Jan. 13, 2017, 7:23 p.m. UTC | #1
On Wed, 30 Nov 2016 14:30:59 +0100
Anatolij Gustschin agust@denx.de wrote:

> If the splash file doesn't exist, the booting stops bricking
> the boards. Check return value of prepare function and stop
> decoding the logo data if splash prepare stage failed.
> 
> Signed-off-by: Anatolij Gustschin <agust@denx.de>
> ---
>  drivers/video/cfb_console.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)

applied to u-boot-video/master.

--
Anatolij
diff mbox

Patch

diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c
index c0b1b8d..a4cbc44 100644
--- a/drivers/video/cfb_console.c
+++ b/drivers/video/cfb_console.c
@@ -1861,14 +1861,16 @@  static void *video_logo(void)
 	__maybe_unused int y_off = 0;
 	__maybe_unused ulong addr;
 	__maybe_unused char *s;
-	__maybe_unused int len, space;
+	__maybe_unused int len, ret, space;
 
 	splash_get_pos(&video_logo_xpos, &video_logo_ypos);
 
 #ifdef CONFIG_SPLASH_SCREEN
 	s = getenv("splashimage");
 	if (s != NULL) {
-		splash_screen_prepare();
+		ret = splash_screen_prepare();
+		if (ret < 0)
+			return video_fb_address;
 		addr = simple_strtoul(s, NULL, 16);
 
 		if (video_display_bitmap(addr,