aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorSatoru Takeuchi <takeuchi_satoru@jp.fujitsu.com>2006-09-12 13:15:10 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2006-09-26 20:43:54 -0400
commit9b1d19ee86746618a8b43d2aaef8319c01af1514 (patch)
tree58ee3384f3cf9593fa9f2d6cb624fda3074aa1ac /drivers
parentb99feebe597f7b8c566048e11dbbd2d6df9abc83 (diff)
acpiphp: do not initialize existing ioapics
Currently acpiphp initializes all ioapics under the bus on which hot-add event occured. It also initializes already working ioapics. This patch fixes this bug. Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: MUNEDA Takahiro <muneda.takahiro@jp.fujitsu.com> Signed-off-by: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com> Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/pci/hotplug/acpiphp_glue.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/pci/hotplug/acpiphp_glue.c b/drivers/pci/hotplug/acpiphp_glue.c
index 7cc782fec70a..c1001ad81ad4 100644
--- a/drivers/pci/hotplug/acpiphp_glue.c
+++ b/drivers/pci/hotplug/acpiphp_glue.c
@@ -841,6 +841,7 @@ ioapic_add(acpi_handle handle, u32 lvl, void *context, void **rv)
841 841
842static int acpiphp_configure_ioapics(acpi_handle handle) 842static int acpiphp_configure_ioapics(acpi_handle handle)
843{ 843{
844 ioapic_add(handle, 0, NULL, NULL);
844 acpi_walk_namespace(ACPI_TYPE_DEVICE, handle, 845 acpi_walk_namespace(ACPI_TYPE_DEVICE, handle,
845 ACPI_UINT32_MAX, ioapic_add, NULL, NULL); 846 ACPI_UINT32_MAX, ioapic_add, NULL, NULL);
846 return 0; 847 return 0;
@@ -1075,7 +1076,8 @@ static int enable_device(struct acpiphp_slot *slot)
1075 pci_bus_assign_resources(bus); 1076 pci_bus_assign_resources(bus);
1076 acpiphp_sanitize_bus(bus); 1077 acpiphp_sanitize_bus(bus);
1077 acpiphp_set_hpp_values(slot->bridge->handle, bus); 1078 acpiphp_set_hpp_values(slot->bridge->handle, bus);
1078 acpiphp_configure_ioapics(slot->bridge->handle); 1079 list_for_each_entry(func, &slot->funcs, sibling)
1080 acpiphp_configure_ioapics(func->handle);
1079 pci_enable_bridges(bus); 1081 pci_enable_bridges(bus);
1080 pci_bus_add_devices(bus); 1082 pci_bus_add_devices(bus);
1081 1083