diff options
author | Mike Rapoport <rppt@linux.ibm.com> | 2019-07-24 16:10:32 +0200 |
---|---|---|
committer | Max Filippov <jcmvbkbc@gmail.com> | 2019-08-27 03:19:04 +0200 |
commit | f348f5c232408cb44451cc5ba52a4b326b6034da (patch) | |
tree | 342874ab6f459df75c1fd78bca9b4afa4fa5fdbe /arch/xtensa/kernel/setup.c | |
parent | Linux 5.3-rc6 (diff) | |
download | linux-f348f5c232408cb44451cc5ba52a4b326b6034da.tar.xz linux-f348f5c232408cb44451cc5ba52a4b326b6034da.zip |
xtensa: remove free_initrd_mem
The xtensa free_initrd_mem() verifies that initrd is mapped and then
frees its memory using free_reserved_area().
The initrd is considered mapped when its memory was successfully reserved
with mem_reserve().
Resetting initrd_start to 0 in case of mem_reserve() failure allows to
switch to generic free_initrd_mem() implementation.
Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
Message-Id: <1563977432-8376-1-git-send-email-rppt@linux.ibm.com>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Diffstat (limited to 'arch/xtensa/kernel/setup.c')
-rw-r--r-- | arch/xtensa/kernel/setup.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/arch/xtensa/kernel/setup.c b/arch/xtensa/kernel/setup.c index 7c3106093c75..e0e1e1892b86 100644 --- a/arch/xtensa/kernel/setup.c +++ b/arch/xtensa/kernel/setup.c @@ -61,7 +61,6 @@ struct screen_info screen_info = { #ifdef CONFIG_BLK_DEV_INITRD extern unsigned long initrd_start; extern unsigned long initrd_end; -int initrd_is_mapped = 0; extern int initrd_below_start_ok; #endif @@ -332,13 +331,11 @@ void __init setup_arch(char **cmdline_p) /* Reserve some memory regions */ #ifdef CONFIG_BLK_DEV_INITRD - if (initrd_start < initrd_end) { - initrd_is_mapped = mem_reserve(__pa(initrd_start), - __pa(initrd_end)) == 0; + if (initrd_start < initrd_end && + !mem_reserve(__pa(initrd_start), __pa(initrd_end))) initrd_below_start_ok = 1; - } else { + else initrd_start = 0; - } #endif mem_reserve(__pa(_stext), __pa(_end)); |