]> git.sur5r.net Git - u-boot/commitdiff
spl: Remove overwrite of relocated malloc limit
authorAndrew F. Davis <afd@ti.com>
Fri, 27 Jan 2017 16:39:19 +0000 (10:39 -0600)
committerTom Rini <trini@konsulko.com>
Sat, 28 Jan 2017 19:04:34 +0000 (14:04 -0500)
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 <afd@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
common/spl/spl.c

index 462c3a2b973be119f57d46f9e1303d2d62537d4a..a3808a988b3c5b63ebb3669d9f81432dcc350ed1 100644 (file)
@@ -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