diff options
Diffstat (limited to 'arch/x86/mm/highmem_32.c')
-rw-r--r-- | arch/x86/mm/highmem_32.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/x86/mm/highmem_32.c b/arch/x86/mm/highmem_32.c index 252b8f5489ba..4500142bc4aa 100644 --- a/arch/x86/mm/highmem_32.c +++ b/arch/x86/mm/highmem_32.c | |||
@@ -1,6 +1,7 @@ | |||
1 | #include <linux/highmem.h> | 1 | #include <linux/highmem.h> |
2 | #include <linux/module.h> | 2 | #include <linux/module.h> |
3 | #include <linux/swap.h> /* for totalram_pages */ | 3 | #include <linux/swap.h> /* for totalram_pages */ |
4 | #include <linux/bootmem.h> | ||
4 | 5 | ||
5 | void *kmap(struct page *page) | 6 | void *kmap(struct page *page) |
6 | { | 7 | { |
@@ -121,6 +122,11 @@ void __init set_highmem_pages_init(void) | |||
121 | struct zone *zone; | 122 | struct zone *zone; |
122 | int nid; | 123 | int nid; |
123 | 124 | ||
125 | /* | ||
126 | * Explicitly reset zone->managed_pages because set_highmem_pages_init() | ||
127 | * is invoked before free_all_bootmem() | ||
128 | */ | ||
129 | reset_all_zones_managed_pages(); | ||
124 | for_each_zone(zone) { | 130 | for_each_zone(zone) { |
125 | unsigned long zone_start_pfn, zone_end_pfn; | 131 | unsigned long zone_start_pfn, zone_end_pfn; |
126 | 132 | ||