diff options
Diffstat (limited to 'drivers/pci')
-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 21fa13e8447..cbd5893d198 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 | ||