]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/arm/mm/init.c
ARM: mm: Don't allow resizing of memblock data until "low" memory is not mapped
[karo-tx-linux.git] / arch / arm / mm / init.c
index 3e8f106ee5fe01855fe12f66b0c581822c0521da..ea66341779d4f60a9b0b720aa7af1b84827ac6f1 100644 (file)
@@ -384,7 +384,6 @@ void __init arm_memblock_init(struct meminfo *mi,
        dma_contiguous_reserve(min(arm_dma_limit, arm_lowmem_limit));
 
        arm_memblock_steal_permitted = false;
-       memblock_allow_resize();
        memblock_dump_all();
 }
 
@@ -392,6 +391,7 @@ void __init bootmem_init(void)
 {
        unsigned long min, max_low, max_high;
 
+       memblock_allow_resize();
        max_low = max_high = 0;
 
        find_limits(&min, &max_low, &max_high);
@@ -587,7 +587,7 @@ void __init mem_init(void)
        extern u32 itcm_end;
 #endif
 
-       max_mapnr   = pfn_to_page(max_pfn + PHYS_PFN_OFFSET) - mem_map;
+       set_max_mapnr(pfn_to_page(max_pfn) - mem_map);
 
        /* this will put all unused low memory onto the freelists */
        free_unused_memmap(&meminfo);