diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2012-06-22 15:32:50 -0600 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2012-06-22 15:32:50 -0600 |
commit | 0f6662a49bf1b5a163ed4e6321c382d2390c817b (patch) | |
tree | f52d6d047c37ce78af25a0db7e4f54737d023fe4 /drivers/pci/hotplug | |
parent | 1693c4276d768464058f191998e035e09ceb9e65 (diff) | |
parent | 809a3bf9f34cb6d0c0383b31b3495fa1ed3508a6 (diff) |
Merge branch 'topic/bjorn-trivial' into next
* topic/bjorn-trivial:
PCI: remove useless pcix_set_mmrbc() dev->bus check
PCI: acpiphp: check whether _ADR evaluation succeeded
PCI: shpchp: remove dead code
PCI: fix P2P bridge I/O port window sign extension
PCI: fix upstream P2P bridge checks when enabling OBFF and LTR
PCI: use __weak consistently
PCI: cleanup assign_requested_resources_sorted() kernel-doc warning
sparc/PCI: remove unused pcibios_assign_resource() definition
Diffstat (limited to 'drivers/pci/hotplug')
-rw-r--r-- | drivers/pci/hotplug/acpiphp_glue.c | 13 | ||||
-rw-r--r-- | drivers/pci/hotplug/shpchp_ctrl.c | 3 |
2 files changed, 9 insertions, 7 deletions
diff --git a/drivers/pci/hotplug/acpiphp_glue.c b/drivers/pci/hotplug/acpiphp_glue.c index 73af3374e91..395c67d3d29 100644 --- a/drivers/pci/hotplug/acpiphp_glue.c +++ b/drivers/pci/hotplug/acpiphp_glue.c @@ -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)) 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; if (pdev && pci_is_pcie(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); if (!newfunc) return AE_NO_MEMORY; diff --git a/drivers/pci/hotplug/shpchp_ctrl.c b/drivers/pci/hotplug/shpchp_ctrl.c index b00b09bdd38..f9b5a52e411 100644 --- a/drivers/pci/hotplug/shpchp_ctrl.c +++ b/drivers/pci/hotplug/shpchp_ctrl.c @@ -262,9 +262,6 @@ static int board_added(struct slot *p_slot) } if ((ctrl->pci_dev->vendor == 0x8086) && (ctrl->pci_dev->device == 0x0332)) { - if (slots_not_empty) - return WRONG_BUS_FREQUENCY; - if ((rc = p_slot->hpc_ops->set_bus_speed_mode(p_slot, PCI_SPEED_33MHz))) { ctrl_err(ctrl, "%s: Issue of set bus speed mode command" " failed\n", __func__); |