diff options
author | Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> | 2006-05-01 21:54:50 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-06-19 17:13:22 -0400 |
commit | 7430e34c70106a9576fc61d77604d164b187a1b7 (patch) | |
tree | 4b9eeaaa3702c9be216f820e8eeaf11f93610d2c /drivers/pci/hotplug/acpiphp_glue.c | |
parent | 2433ee2654f0ac86f7886e5a8d01bee7f3c7c6db (diff) |
[PATCH] acpi_pcihp: Fix programming _HPP values
This patch fixes the problem that hotplug parameters are not programed
when PCI cards are hot-added by ACPIPHP, SHPCHP and PCIEHP driver. The
pci_dev structure being hot-added is not bound to ACPI handle, so we
need to trace PCI bus tree to find ACPI handle.
Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Cc: Kristen Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/pci/hotplug/acpiphp_glue.c')
-rw-r--r-- | drivers/pci/hotplug/acpiphp_glue.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/pci/hotplug/acpiphp_glue.c b/drivers/pci/hotplug/acpiphp_glue.c index 2a83e6bdab6a..4b0988e93806 100644 --- a/drivers/pci/hotplug/acpiphp_glue.c +++ b/drivers/pci/hotplug/acpiphp_glue.c | |||
@@ -286,7 +286,7 @@ static void decode_hpp(struct acpiphp_bridge *bridge) | |||
286 | { | 286 | { |
287 | acpi_status status; | 287 | acpi_status status; |
288 | 288 | ||
289 | status = acpi_get_hp_params_from_firmware(bridge->pci_dev, &bridge->hpp); | 289 | status = acpi_get_hp_params_from_firmware(bridge->pci_bus, &bridge->hpp); |
290 | if (ACPI_FAILURE(status)) { | 290 | if (ACPI_FAILURE(status)) { |
291 | /* use default numbers */ | 291 | /* use default numbers */ |
292 | bridge->hpp.cache_line_size = 0x10; | 292 | bridge->hpp.cache_line_size = 0x10; |
@@ -1250,6 +1250,7 @@ static void acpiphp_set_hpp_values(acpi_handle handle, struct pci_bus *bus) | |||
1250 | 1250 | ||
1251 | memset(&bridge, 0, sizeof(bridge)); | 1251 | memset(&bridge, 0, sizeof(bridge)); |
1252 | bridge.handle = handle; | 1252 | bridge.handle = handle; |
1253 | bridge.pci_bus = bus; | ||
1253 | bridge.pci_dev = bus->self; | 1254 | bridge.pci_dev = bus->self; |
1254 | decode_hpp(&bridge); | 1255 | decode_hpp(&bridge); |
1255 | list_for_each_entry(dev, &bus->devices, bus_list) | 1256 | list_for_each_entry(dev, &bus->devices, bus_list) |