diff options
Diffstat (limited to 'mm')
-rw-r--r-- | mm/bounce.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/mm/bounce.c b/mm/bounce.c index 1481de68184..434fb4f0c5e 100644 --- a/mm/bounce.c +++ b/mm/bounce.c | |||
@@ -14,6 +14,7 @@ | |||
14 | #include <linux/init.h> | 14 | #include <linux/init.h> |
15 | #include <linux/hash.h> | 15 | #include <linux/hash.h> |
16 | #include <linux/highmem.h> | 16 | #include <linux/highmem.h> |
17 | #include <linux/bootmem.h> | ||
17 | #include <asm/tlbflush.h> | 18 | #include <asm/tlbflush.h> |
18 | 19 | ||
19 | #include <trace/events/block.h> | 20 | #include <trace/events/block.h> |
@@ -26,12 +27,10 @@ static mempool_t *page_pool, *isa_page_pool; | |||
26 | #ifdef CONFIG_HIGHMEM | 27 | #ifdef CONFIG_HIGHMEM |
27 | static __init int init_emergency_pool(void) | 28 | static __init int init_emergency_pool(void) |
28 | { | 29 | { |
29 | struct sysinfo i; | 30 | #ifndef CONFIG_MEMORY_HOTPLUG |
30 | si_meminfo(&i); | 31 | if (max_pfn <= max_low_pfn) |
31 | si_swapinfo(&i); | ||
32 | |||
33 | if (!i.totalhigh) | ||
34 | return 0; | 32 | return 0; |
33 | #endif | ||
35 | 34 | ||
36 | page_pool = mempool_create_page_pool(POOL_SIZE, 0); | 35 | page_pool = mempool_create_page_pool(POOL_SIZE, 0); |
37 | BUG_ON(!page_pool); | 36 | BUG_ON(!page_pool); |