aboutsummaryrefslogtreecommitdiffstats
path: root/mm/sparse.c
diff options
context:
space:
mode:
Diffstat (limited to 'mm/sparse.c')
-rw-r--r--mm/sparse.c12
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);