acpiphp: fix use of list_for_each macro
authorAkinobu Mita <akinobu.mita@gmail.com>
Mon, 30 Oct 2006 21:07:58 +0000 (13:07 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 1 Dec 2006 22:36:58 +0000 (14:36 -0800)
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 <akinobu.mita@gmail.com>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/pci/hotplug/acpiphp_glue.c

index 16167b0..0b9d0db 100644 (file)
@@ -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,