diff options
Diffstat (limited to 'drivers/acpi')
-rw-r--r-- | drivers/acpi/acpi_memhotplug.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/acpi/acpi_memhotplug.c b/drivers/acpi/acpi_memhotplug.c index 3721f8dd0de3..5652569b3762 100644 --- a/drivers/acpi/acpi_memhotplug.c +++ b/drivers/acpi/acpi_memhotplug.c | |||
@@ -234,6 +234,17 @@ static int acpi_memory_enable_device(struct acpi_memory_device *mem_device) | |||
234 | * (i.e. memory-hot-remove function) | 234 | * (i.e. memory-hot-remove function) |
235 | */ | 235 | */ |
236 | list_for_each_entry(info, &mem_device->res_list, list) { | 236 | list_for_each_entry(info, &mem_device->res_list, list) { |
237 | u64 start_pfn, end_pfn; | ||
238 | |||
239 | start_pfn = info->start_addr >> PAGE_SHIFT; | ||
240 | end_pfn = (info->start_addr + info->length - 1) >> PAGE_SHIFT; | ||
241 | |||
242 | if (pfn_valid(start_pfn) || pfn_valid(end_pfn)) { | ||
243 | /* already enabled. try next area */ | ||
244 | num_enabled++; | ||
245 | continue; | ||
246 | } | ||
247 | |||
237 | result = add_memory(info->start_addr, info->length); | 248 | result = add_memory(info->start_addr, info->length); |
238 | if (result) | 249 | if (result) |
239 | continue; | 250 | continue; |