|
@@ -132,6 +132,15 @@ register_slot(acpi_handle handle, u32 lvl, void *context, void **rv)
|
|
if (!acpi_pci_check_ejectable(pbus, handle) && !is_dock_device(handle))
|
|
if (!acpi_pci_check_ejectable(pbus, handle) && !is_dock_device(handle))
|
|
return AE_OK;
|
|
return AE_OK;
|
|
|
|
|
|
|
|
+ status = acpi_evaluate_integer(handle, "_ADR", NULL, &adr);
|
|
|
|
+ if (ACPI_FAILURE(status)) {
|
|
|
|
+ warn("can't evaluate _ADR (%#x)\n", status);
|
|
|
|
+ return AE_OK;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ device = (adr >> 16) & 0xffff;
|
|
|
|
+ function = adr & 0xffff;
|
|
|
|
+
|
|
pdev = pbus->self;
|
|
pdev = pbus->self;
|
|
if (pdev && pci_is_pcie(pdev)) {
|
|
if (pdev && pci_is_pcie(pdev)) {
|
|
tmp = acpi_find_root_bridge_handle(pdev);
|
|
tmp = acpi_find_root_bridge_handle(pdev);
|
|
@@ -144,10 +153,6 @@ register_slot(acpi_handle handle, u32 lvl, void *context, void **rv)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- acpi_evaluate_integer(handle, "_ADR", NULL, &adr);
|
|
|
|
- device = (adr >> 16) & 0xffff;
|
|
|
|
- function = adr & 0xffff;
|
|
|
|
-
|
|
|
|
newfunc = kzalloc(sizeof(struct acpiphp_func), GFP_KERNEL);
|
|
newfunc = kzalloc(sizeof(struct acpiphp_func), GFP_KERNEL);
|
|
if (!newfunc)
|
|
if (!newfunc)
|
|
return AE_NO_MEMORY;
|
|
return AE_NO_MEMORY;
|