From kristen.c.accardi@intel.com Mon Oct 30 12:07:53 2006 Date: Mon, 30 Oct 2006 13:07:58 -0800 From: Akinobu Mita To: gregkh@suse.de Cc: Akinobu Mita , Kristen Carlson Accardi Subject: acpiphp: fix use of list_for_each macro Message-Id: <20061030130758.a1933c42.kristen.c.accardi@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII From: Akinobu Mita This patch fixes invalid usage of list_for_each() list_for_each (node, &bridge_list) { bridge = (struct acpiphp_bridge *)node; ... } This code works while the member of list node is located at the head of struct acpiphp_bridge. Signed-off-by: Akinobu Mita Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman --- drivers/pci/hotplug/acpiphp_glue.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) --- gregkh-2.6.orig/drivers/pci/hotplug/acpiphp_glue.c +++ gregkh-2.6/drivers/pci/hotplug/acpiphp_glue.c @@ -1693,14 +1693,10 @@ void __exit acpiphp_glue_exit(void) */ int __init acpiphp_get_num_slots(void) { - struct list_head *node; struct acpiphp_bridge *bridge; - int num_slots; - - num_slots = 0; + int num_slots = 0; - list_for_each (node, &bridge_list) { - bridge = (struct acpiphp_bridge *)node; + list_for_each_entry (bridge, &bridge_list, list) { dbg("Bus %04x:%02x has %d slot%s\n", pci_domain_nr(bridge->pci_bus), bridge->pci_bus->number, bridge->nr_slots,