From b3d2861eb20a795b99292b823c923935df26dfc6 Mon Sep 17 00:00:00 2001 From: "Andrew F. Davis" Date: Fri, 27 Jan 2017 10:39:19 -0600 Subject: [PATCH] spl: Remove overwrite of relocated malloc limit spl_init on some boards is called after stack and heap relocation, on some platforms spl_relocate_stack_gd is called to handle setting the limit to its value CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN when simple SPL malloc is enabled during relocation. spl_init should then not re-assign the old pre-relocation limit when this is defined. Signed-off-by: Andrew F. Davis Reviewed-by: Tom Rini --- common/spl/spl.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/common/spl/spl.c b/common/spl/spl.c index 462c3a2b97..a3808a988b 100644 --- a/common/spl/spl.c +++ b/common/spl/spl.c @@ -183,7 +183,12 @@ int spl_init(void) int ret; debug("spl_init()\n"); -#if defined(CONFIG_SYS_MALLOC_F_LEN) +/* + * with CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN we set malloc_base and + * malloc_limit in spl_relocate_stack_gd + */ +#if defined(CONFIG_SYS_MALLOC_F_LEN) && \ + !defined(CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN) #ifdef CONFIG_MALLOC_F_ADDR gd->malloc_base = CONFIG_MALLOC_F_ADDR; #endif