From: Rafael J. Wysocki Date: Wed, 12 Feb 2014 11:56:56 +0000 (+0100) Subject: Merge back earlier 'acpi-pci-hotplug' material. X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=4b49b9fe2b5220374ddc1c122cc31e00cc20365f;p=deliverable%2Flinux.git Merge back earlier 'acpi-pci-hotplug' material. Conflicts: drivers/pci/hotplug/acpiphp_glue.c --- 4b49b9fe2b5220374ddc1c122cc31e00cc20365f diff --cc drivers/pci/hotplug/acpiphp_glue.c index 7c7a388c85ab,fa8fe7441952..91276f9fe268 --- a/drivers/pci/hotplug/acpiphp_glue.c +++ b/drivers/pci/hotplug/acpiphp_glue.c @@@ -755,9 -665,9 +676,9 @@@ static void trim_stale_devices(struct p acpi_status status; unsigned long long sta; - status = acpi_evaluate_integer(handle, "_STA", NULL, &sta); + status = acpi_evaluate_integer(adev->handle, "_STA", NULL, &sta); - alive = (ACPI_SUCCESS(status) && sta == ACPI_STA_ALL) + alive = (ACPI_SUCCESS(status) && device_status_valid(sta)) - || acpiphp_no_hotplug(handle); + || acpiphp_no_hotplug(adev); } if (!alive) { u32 v; @@@ -800,10 -710,9 +721,9 @@@ static void acpiphp_check_bridge(struc struct pci_bus *bus = slot->bus; struct pci_dev *dev, *tmp; - mutex_lock(&slot->crit_sect); if (slot_no_hotplug(slot)) { ; /* do nothing */ - } else if (get_slot_status(slot) == ACPI_STA_ALL) { + } else if (device_status_valid(get_slot_status(slot))) { /* remove stale devices if any */ list_for_each_entry_safe_reverse(dev, tmp, &bus->devices, bus_list)