summaryrefslogtreecommitdiffstats
path: root/arch/arm/mm/init.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-01-29 18:20:41 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2014-01-29 18:20:41 -0800
commite914e3f48d0f3978d1561ae3668908e4c0262acf (patch)
tree6f5af7a5edaf28e8a4f99bbd353a2c9d51bf3534 /arch/arm/mm/init.c
parent1d494f36d1fde04188341bf3d3b1a14cdf6fb2c9 (diff)
parent5efa906486b14c607dd981504fd21b05b867ea1f (diff)
downloadlinux-e914e3f48d0f3978d1561ae3668908e4c0262acf.tar.bz2
Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm
Pull more ARM updates from Russell King: "Some further changes for this merge window: - fix bug building with gcc 4.6.4 and EABI. - fix pgtbl macro with some LPAE configurations - fix initrd override - FDT was overriding the command line, and it should be the other way around. - fix byteswap of instructions in undefined instruction handler - add basic support for SolidRun Hummingboard and Cubox-i boards" * 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: ARM: fix building with gcc 4.6.4 ARM: 7941/2: Fix incorrect FDT initrd parameter override ARM: 7947/1: Make pgtbl macro more robust ARM: 7946/1: asm: __und_usr_thumb need byteswap instructions in BE case ARM: 7930/1: Introduce atomic MMIO modify ARM: imx: initial SolidRun Cubox-i support ARM: imx: initial SolidRun HummingBoard support
Diffstat (limited to 'arch/arm/mm/init.c')
-rw-r--r--arch/arm/mm/init.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c
index f57fb338cc8a..804d61566a53 100644
--- a/arch/arm/mm/init.c
+++ b/arch/arm/mm/init.c
@@ -290,10 +290,11 @@ void __init arm_memblock_init(struct meminfo *mi,
#endif
#ifdef CONFIG_BLK_DEV_INITRD
/* FDT scan will populate initrd_start */
- if (initrd_start) {
+ if (initrd_start && !phys_initrd_size) {
phys_initrd_start = __virt_to_phys(initrd_start);
phys_initrd_size = initrd_end - initrd_start;
}
+ initrd_start = initrd_end = 0;
if (phys_initrd_size &&
!memblock_is_region_memory(phys_initrd_start, phys_initrd_size)) {
pr_err("INITRD: 0x%08llx+0x%08lx is not a memory region - disabling initrd\n",