diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/pci/hotplug/acpiphp_glue.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/pci/hotplug/acpiphp_glue.c b/drivers/pci/hotplug/acpiphp_glue.c index 21fa13e84470..cbd5893d198e 100644 --- a/drivers/pci/hotplug/acpiphp_glue.c +++ b/drivers/pci/hotplug/acpiphp_glue.c | |||
| @@ -463,6 +463,12 @@ find_p2p_bridge(acpi_handle handle, u32 lvl, void *context, void **rv) | |||
| 463 | add_p2p_bridge(handle, dev); | 463 | add_p2p_bridge(handle, dev); |
| 464 | } | 464 | } |
| 465 | 465 | ||
| 466 | /* search P2P bridges under this p2p bridge */ | ||
| 467 | status = acpi_walk_namespace(ACPI_TYPE_DEVICE, handle, (u32)1, | ||
| 468 | find_p2p_bridge, dev->subordinate, NULL); | ||
| 469 | if (ACPI_FAILURE(status)) | ||
| 470 | warn("find_p2p_bridge faied (error code = 0x%x)\n", status); | ||
| 471 | |||
| 466 | out: | 472 | out: |
| 467 | pci_dev_put(dev); | 473 | pci_dev_put(dev); |
| 468 | return AE_OK; | 474 | return AE_OK; |
| @@ -603,7 +609,8 @@ static void remove_bridge(acpi_handle handle) | |||
| 603 | } else { | 609 | } else { |
| 604 | /* clean-up p2p bridges under this host bridge */ | 610 | /* clean-up p2p bridges under this host bridge */ |
| 605 | acpi_walk_namespace(ACPI_TYPE_DEVICE, handle, | 611 | acpi_walk_namespace(ACPI_TYPE_DEVICE, handle, |
| 606 | (u32)1, cleanup_p2p_bridge, NULL, NULL); | 612 | ACPI_UINT32_MAX, cleanup_p2p_bridge, |
| 613 | NULL, NULL); | ||
| 607 | } | 614 | } |
| 608 | } | 615 | } |
| 609 | 616 | ||
