aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/pci/hotplug/acpiphp_glue.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/pci/hotplug/acpiphp_glue.c b/drivers/pci/hotplug/acpiphp_glue.c
index 903af4d4a383..f2f460cba5f7 100644
--- a/drivers/pci/hotplug/acpiphp_glue.c
+++ b/drivers/pci/hotplug/acpiphp_glue.c
@@ -277,9 +277,6 @@ static acpi_status acpiphp_add_context(acpi_handle handle, u32 lvl, void *data,
277 struct pci_dev *pdev = bridge->pci_dev; 277 struct pci_dev *pdev = bridge->pci_dev;
278 u32 val; 278 u32 val;
279 279
280 if (pdev && device_is_managed_by_native_pciehp(pdev))
281 return AE_OK;
282
283 status = acpi_evaluate_integer(handle, "_ADR", NULL, &adr); 280 status = acpi_evaluate_integer(handle, "_ADR", NULL, &adr);
284 if (ACPI_FAILURE(status)) { 281 if (ACPI_FAILURE(status)) {
285 if (status != AE_NOT_FOUND) 282 if (status != AE_NOT_FOUND)
@@ -338,8 +335,14 @@ static acpi_status acpiphp_add_context(acpi_handle handle, u32 lvl, void *data,
338 335
339 list_add_tail(&slot->node, &bridge->slots); 336 list_add_tail(&slot->node, &bridge->slots);
340 337
341 /* Register slots for ejectable functions only. */ 338 /*
342 if (acpi_pci_check_ejectable(pbus, handle) || is_dock_device(handle)) { 339 * Expose slots to user space for functions that have _EJ0 or _RMV or
340 * are located in dock stations. Do not expose them for devices handled
341 * by the native PCIe hotplug (PCIeHP), becuase that code is supposed to
342 * expose slots to user space in those cases.
343 */
344 if ((acpi_pci_check_ejectable(pbus, handle) || is_dock_device(handle))
345 && !(pdev && device_is_managed_by_native_pciehp(pdev))) {
343 unsigned long long sun; 346 unsigned long long sun;
344 int retval; 347 int retval;
345 348