diff options
Diffstat (limited to 'mm/sparse.c')
-rw-r--r-- | mm/sparse.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/mm/sparse.c b/mm/sparse.c index 99a6383e98bc..eb31274aae8b 100644 --- a/mm/sparse.c +++ b/mm/sparse.c | |||
@@ -446,7 +446,6 @@ void __init sparse_mem_maps_populate_node(struct page **map_map, | |||
446 | ms = __nr_to_section(pnum); | 446 | ms = __nr_to_section(pnum); |
447 | pr_err("%s: sparsemem memory map backing failed some memory will not be available\n", | 447 | pr_err("%s: sparsemem memory map backing failed some memory will not be available\n", |
448 | __func__); | 448 | __func__); |
449 | ms->section_mem_map = 0; | ||
450 | } | 449 | } |
451 | } | 450 | } |
452 | #endif /* !CONFIG_SPARSEMEM_VMEMMAP */ | 451 | #endif /* !CONFIG_SPARSEMEM_VMEMMAP */ |
@@ -474,7 +473,6 @@ static struct page __init *sparse_early_mem_map_alloc(unsigned long pnum) | |||
474 | 473 | ||
475 | pr_err("%s: sparsemem memory map backing failed some memory will not be available\n", | 474 | pr_err("%s: sparsemem memory map backing failed some memory will not be available\n", |
476 | __func__); | 475 | __func__); |
477 | ms->section_mem_map = 0; | ||
478 | return NULL; | 476 | return NULL; |
479 | } | 477 | } |
480 | #endif | 478 | #endif |
@@ -578,17 +576,23 @@ void __init sparse_init(void) | |||
578 | #endif | 576 | #endif |
579 | 577 | ||
580 | for_each_present_section_nr(0, pnum) { | 578 | for_each_present_section_nr(0, pnum) { |
579 | struct mem_section *ms; | ||
580 | ms = __nr_to_section(pnum); | ||
581 | usemap = usemap_map[pnum]; | 581 | usemap = usemap_map[pnum]; |
582 | if (!usemap) | 582 | if (!usemap) { |
583 | ms->section_mem_map = 0; | ||
583 | continue; | 584 | continue; |
585 | } | ||
584 | 586 | ||
585 | #ifdef CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER | 587 | #ifdef CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER |
586 | map = map_map[pnum]; | 588 | map = map_map[pnum]; |
587 | #else | 589 | #else |
588 | map = sparse_early_mem_map_alloc(pnum); | 590 | map = sparse_early_mem_map_alloc(pnum); |
589 | #endif | 591 | #endif |
590 | if (!map) | 592 | if (!map) { |
593 | ms->section_mem_map = 0; | ||
591 | continue; | 594 | continue; |
595 | } | ||
592 | 596 | ||
593 | sparse_init_one_section(__nr_to_section(pnum), pnum, map, | 597 | sparse_init_one_section(__nr_to_section(pnum), pnum, map, |
594 | usemap); | 598 | usemap); |