diff options
-rw-r--r-- | drivers/acpi/acpi_memhotplug.c | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/drivers/acpi/acpi_memhotplug.c b/drivers/acpi/acpi_memhotplug.c index ea78988bc13f..5e6301e94920 100644 --- a/drivers/acpi/acpi_memhotplug.c +++ b/drivers/acpi/acpi_memhotplug.c | |||
@@ -73,7 +73,6 @@ struct acpi_memory_info { | |||
73 | unsigned short caching; /* memory cache attribute */ | 73 | unsigned short caching; /* memory cache attribute */ |
74 | unsigned short write_protect; /* memory read/write attribute */ | 74 | unsigned short write_protect; /* memory read/write attribute */ |
75 | unsigned int enabled:1; | 75 | unsigned int enabled:1; |
76 | unsigned int failed:1; | ||
77 | }; | 76 | }; |
78 | 77 | ||
79 | struct acpi_memory_device { | 78 | struct acpi_memory_device { |
@@ -201,10 +200,8 @@ static int acpi_memory_enable_device(struct acpi_memory_device *mem_device) | |||
201 | * returns -EEXIST. If add_memory() returns the other error, it | 200 | * returns -EEXIST. If add_memory() returns the other error, it |
202 | * means that this memory block is not used by the kernel. | 201 | * means that this memory block is not used by the kernel. |
203 | */ | 202 | */ |
204 | if (result && result != -EEXIST) { | 203 | if (result && result != -EEXIST) |
205 | info->failed = 1; | ||
206 | continue; | 204 | continue; |
207 | } | ||
208 | 205 | ||
209 | info->enabled = 1; | 206 | info->enabled = 1; |
210 | 207 | ||
@@ -238,16 +235,8 @@ static int acpi_memory_remove_memory(struct acpi_memory_device *mem_device) | |||
238 | nid = acpi_get_node(mem_device->device->handle); | 235 | nid = acpi_get_node(mem_device->device->handle); |
239 | 236 | ||
240 | list_for_each_entry_safe(info, n, &mem_device->res_list, list) { | 237 | list_for_each_entry_safe(info, n, &mem_device->res_list, list) { |
241 | if (info->failed) | ||
242 | /* The kernel does not use this memory block */ | ||
243 | continue; | ||
244 | |||
245 | if (!info->enabled) | 238 | if (!info->enabled) |
246 | /* | 239 | continue; |
247 | * The kernel uses this memory block, but it may be not | ||
248 | * managed by us. | ||
249 | */ | ||
250 | return -EBUSY; | ||
251 | 240 | ||
252 | if (nid < 0) | 241 | if (nid < 0) |
253 | nid = memory_add_physaddr_to_nid(info->start_addr); | 242 | nid = memory_add_physaddr_to_nid(info->start_addr); |