summaryrefslogtreecommitdiff
path: root/common/spl
diff options
context:
space:
mode:
Diffstat (limited to 'common/spl')
-rw-r--r--common/spl/Kconfig6
-rw-r--r--common/spl/spl_ymodem.c8
2 files changed, 9 insertions, 5 deletions
diff --git a/common/spl/Kconfig b/common/spl/Kconfig
index 1f122833a7..e11faae9ee 100644
--- a/common/spl/Kconfig
+++ b/common/spl/Kconfig
@@ -268,7 +268,7 @@ config SPL_BANNER_PRINT
default y
help
If this option is enabled, SPL will print the banner with version
- info. Disabling this option could be useful to reduce TPL boot time
+ info. Disabling this option could be useful to reduce SPL boot time
(e.g. approx. 6 ms faster, when output on i.MX6 with 115200 baud).
config TPL_BANNER_PRINT
@@ -276,8 +276,8 @@ config TPL_BANNER_PRINT
depends on TPL
default y
help
- If this option is enabled, SPL will not print the banner with version
- info. Disabling this option could be useful to reduce SPL boot time
+ If this option is enabled, TPL will print the banner with version
+ info. Disabling this option could be useful to reduce TPL boot time
(e.g. approx. 6 ms faster, when output on i.MX6 with 115200 baud).
config SPL_EARLY_BSS
diff --git a/common/spl/spl_ymodem.c b/common/spl/spl_ymodem.c
index c02c05624d..8500ee8ba5 100644
--- a/common/spl/spl_ymodem.c
+++ b/common/spl/spl_ymodem.c
@@ -37,7 +37,7 @@ static int getcymodem(void) {
static ulong ymodem_read_fit(struct spl_load_info *load, ulong offset,
ulong size, void *addr)
{
- int res, err;
+ int res, err, buf_offset;
struct ymodem_fit_info *info = load->priv;
char *buf = info->buf;
@@ -51,7 +51,11 @@ static ulong ymodem_read_fit(struct spl_load_info *load, ulong offset,
if (info->image_read > offset) {
res = info->image_read - offset;
- memcpy(addr, &buf[BUF_SIZE - res], res);
+ if (info->image_read % BUF_SIZE)
+ buf_offset = (info->image_read % BUF_SIZE);
+ else
+ buf_offset = BUF_SIZE;
+ memcpy(addr, &buf[buf_offset - res], res);
addr = addr + res;
}