From 6d8dbe4862f0b343427fc4f2bd15aefab73706bf Mon Sep 17 00:00:00 2001 From: Marek Vasut Date: Tue, 12 Mar 2019 04:02:39 +0100 Subject: [PATCH] spl: ymodem: Terminate YModem session on error In case spl_parse_image_header() errors out, terminate the YModem session, otherwise we won't get any further output. Signed-off-by: Marek Vasut Cc: Tom Rini --- common/spl/spl_ymodem.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/common/spl/spl_ymodem.c b/common/spl/spl_ymodem.c index 577fdc69af..8058fd6a7c 100644 --- a/common/spl/spl_ymodem.c +++ b/common/spl/spl_ymodem.c @@ -111,7 +111,7 @@ static int spl_ymodem_load_image(struct spl_image_info *spl_image, ih = (struct image_header *)buf; ret = spl_parse_image_header(spl_image, ih); if (ret) - return ret; + goto end_stream; #ifdef CONFIG_SPL_GZIP if (ih->ih_comp == IH_COMP_GZIP) addr = CONFIG_SYS_LOAD_ADDR; @@ -147,6 +147,7 @@ end_stream: xyzModem_stream_terminate(false, &getcymodem); printf("Loaded %lu bytes\n", size); - return 0; + + return ret; } SPL_LOAD_IMAGE_METHOD("UART", 0, BOOT_DEVICE_UART, spl_ymodem_load_image); -- 2.39.5