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); |
