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>
This commit is contained in:
parent
b99feebe59
commit
9b1d19ee86
|
@ -841,6 +841,7 @@ ioapic_add(acpi_handle handle, u32 lvl, void *context, void **rv)
|
||||||
|
|
||||||
static int acpiphp_configure_ioapics(acpi_handle handle)
|
static int acpiphp_configure_ioapics(acpi_handle handle)
|
||||||
{
|
{
|
||||||
|
ioapic_add(handle, 0, NULL, NULL);
|
||||||
acpi_walk_namespace(ACPI_TYPE_DEVICE, handle,
|
acpi_walk_namespace(ACPI_TYPE_DEVICE, handle,
|
||||||
ACPI_UINT32_MAX, ioapic_add, NULL, NULL);
|
ACPI_UINT32_MAX, ioapic_add, NULL, NULL);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -1075,7 +1076,8 @@ static int enable_device(struct acpiphp_slot *slot)
|
||||||
pci_bus_assign_resources(bus);
|
pci_bus_assign_resources(bus);
|
||||||
acpiphp_sanitize_bus(bus);
|
acpiphp_sanitize_bus(bus);
|
||||||
acpiphp_set_hpp_values(slot->bridge->handle, bus);
|
acpiphp_set_hpp_values(slot->bridge->handle, bus);
|
||||||
acpiphp_configure_ioapics(slot->bridge->handle);
|
list_for_each_entry(func, &slot->funcs, sibling)
|
||||||
|
acpiphp_configure_ioapics(func->handle);
|
||||||
pci_enable_bridges(bus);
|
pci_enable_bridges(bus);
|
||||||
pci_bus_add_devices(bus);
|
pci_bus_add_devices(bus);
|
||||||
|
|
||||||
|
|
Reference in New Issue