[PATCH] memory hotadd fixes [5/5] avoid registering res twice

From: KAMEZAWA Hiroyuki
Date: Wed Aug 02 2006 - 23:32:59 EST


both of acpi_memory_enable_device() and acpi_memory_add_device()
may evaluate _CRS method.

We should avoid evaluate device's resource twice if we could get it
successfully in past.

Signed-Off-By: KAMEZWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>

drivers/acpi/acpi_memhotplug.c | 4 ++++
1 files changed, 4 insertions(+)

Index: linux-2.6.18-rc3/drivers/acpi/acpi_memhotplug.c
===================================================================
--- linux-2.6.18-rc3.orig/drivers/acpi/acpi_memhotplug.c 2006-08-02 14:12:45.000000000 +0900
+++ linux-2.6.18-rc3/drivers/acpi/acpi_memhotplug.c 2006-08-02 14:24:10.000000000 +0900
@@ -129,11 +129,15 @@
struct acpi_memory_info *info, *n;


+ if (!list_empty(&mem_device->res_list))
+ return 0;
+
status = acpi_walk_resources(mem_device->device->handle, METHOD_NAME__CRS,
acpi_memory_get_resource, mem_device);
if (ACPI_FAILURE(status)) {
list_for_each_entry_safe(info, n, &mem_device->res_list, list)
kfree(info);
+ INIT_LIST_HEAD(&mem_device->res_list);
return -EINVAL;
}


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/