diff options
Diffstat (limited to 'mm/sparse-vmemmap.c')
-rw-r--r-- | mm/sparse-vmemmap.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/mm/sparse-vmemmap.c b/mm/sparse-vmemmap.c index 27eeab3be757..4cba9c2783a1 100644 --- a/mm/sparse-vmemmap.c +++ b/mm/sparse-vmemmap.c | |||
@@ -40,7 +40,8 @@ static void * __init_refok __earlyonly_bootmem_alloc(int node, | |||
40 | unsigned long align, | 40 | unsigned long align, |
41 | unsigned long goal) | 41 | unsigned long goal) |
42 | { | 42 | { |
43 | return __alloc_bootmem_node_high(NODE_DATA(node), size, align, goal); | 43 | return memblock_virt_alloc_try_nid(size, align, goal, |
44 | BOOTMEM_ALLOC_ACCESSIBLE, node); | ||
44 | } | 45 | } |
45 | 46 | ||
46 | static void *vmemmap_buf; | 47 | static void *vmemmap_buf; |
@@ -226,7 +227,8 @@ void __init sparse_mem_maps_populate_node(struct page **map_map, | |||
226 | 227 | ||
227 | if (vmemmap_buf_start) { | 228 | if (vmemmap_buf_start) { |
228 | /* need to free left buf */ | 229 | /* need to free left buf */ |
229 | free_bootmem(__pa(vmemmap_buf), vmemmap_buf_end - vmemmap_buf); | 230 | memblock_free_early(__pa(vmemmap_buf), |
231 | vmemmap_buf_end - vmemmap_buf); | ||
230 | vmemmap_buf = NULL; | 232 | vmemmap_buf = NULL; |
231 | vmemmap_buf_end = NULL; | 233 | vmemmap_buf_end = NULL; |
232 | } | 234 | } |