diff options
author | Marek Vasut <marek.vasut+renesas@gmail.com> | 2019-03-12 04:02:39 +0100 |
---|---|---|
committer | Marek Vasut <marex@denx.de> | 2019-04-09 18:19:09 +0200 |
commit | 6d8dbe4862f0b343427fc4f2bd15aefab73706bf (patch) | |
tree | 9d669613192e9144c36a339029576ef1df4ba831 | |
parent | 3c99166441bf3ea325af2da83cfe65430b49c066 (diff) |
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 <marek.vasut+renesas@gmail.com>
Cc: Tom Rini <trini@konsulko.com>
-rw-r--r-- | common/spl/spl_ymodem.c | 5 |
1 files 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); |