[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20060803123716.2e00952a.kamezawa.hiroyu@jp.fujitsu.com>
Date:	Thu, 3 Aug 2006 12:37:16 +0900
From:	KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>
To:	LKML <linux-kernel@...r.kernel.org>
Cc:	LHMS <lhms-devel@...ts.sourceforge.net>,
	"kmannth@...ibm.com" <kmannth@...ibm.com>,
	"y-goto@...fujitsu.com" <y-goto@...fujitsu.com>,
	Andrew Morton <akpm@...l.org>
Subject: [PATCH] memory hotadd fixes [5/5] avoid registering res twice
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@...fujitsu.com>
 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@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
Powered by blists - more mailing lists
 
