malloc_simple: Correct the alignment logic in memalign_simple()
authorSimon Glass <sjg@chromium.org>
Fri, 14 Aug 2015 19:26:43 +0000 (13:26 -0600)
committerLothar Waßmann <LW@KARO-electronics.de>
Thu, 10 Sep 2015 09:29:49 +0000 (11:29 +0200)
This should use the align parameter, not bytes. Natural alignment is one
use case but should not be the only one supported by this function.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
common/malloc_simple.c

index 9811ab6..134e059 100644 (file)
@@ -31,7 +31,7 @@ void *memalign_simple(size_t align, size_t bytes)
        ulong addr, new_ptr;
        void *ptr;
 
-       addr = ALIGN(gd->malloc_base + gd->malloc_ptr, bytes);
+       addr = ALIGN(gd->malloc_base + gd->malloc_ptr, align);
        new_ptr = addr + bytes;
        if (new_ptr > gd->malloc_limit)
                return NULL;