diff options
author | Linus Walleij <linus.walleij@stericsson.com> | 2010-05-26 07:37:57 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-05-27 10:36:07 +0100 |
commit | ea208f646c8fb91c39c852e952fc911e1ad045ab (patch) | |
tree | bf4cd875b052996eb13dd30a66647334082b28a2 | |
parent | 138de1c44a8e0606501cd8593407e9248e84f1b7 (diff) | |
download | linux-stable-ea208f646c8fb91c39c852e952fc911e1ad045ab.tar.gz linux-stable-ea208f646c8fb91c39c852e952fc911e1ad045ab.tar.bz2 linux-stable-ea208f646c8fb91c39c852e952fc911e1ad045ab.zip |
ARM: 6144/1: TCM memory bug freeing bug
This fixes a bug in mm/init.c when freeing the TCM compile memory,
this was being referred to as a char * which is incorrect: this
will dereference the pointer and feed in the value at the location
instead of the address to it. Change it to a plain char and use
&(char) to reference it.
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
Cc: <stable@kernel.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r-- | arch/arm/mm/init.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c index 1ba6cf5a2c02..f6a999465323 100644 --- a/arch/arm/mm/init.c +++ b/arch/arm/mm/init.c @@ -678,10 +678,10 @@ void __init mem_init(void) void free_initmem(void) { #ifdef CONFIG_HAVE_TCM - extern char *__tcm_start, *__tcm_end; + extern char __tcm_start, __tcm_end; - totalram_pages += free_area(__phys_to_pfn(__pa(__tcm_start)), - __phys_to_pfn(__pa(__tcm_end)), + totalram_pages += free_area(__phys_to_pfn(__pa(&__tcm_start)), + __phys_to_pfn(__pa(&__tcm_end)), "TCM link"); #endif |