diff options
| author | Marek Vasut <[email protected]> | 2019-03-12 04:02:39 +0100 |
|---|---|---|
| committer | Marek Vasut <[email protected]> | 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 <[email protected]>
Cc: Tom Rini <[email protected]>
| -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 577fdc69afe..8058fd6a7c7 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); |
