From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Date: Wed, 12 Feb 2014 11:56:56 +0000 (+0100)
Subject: Merge back earlier 'acpi-pci-hotplug' material.
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=4b49b9fe2b5220374ddc1c122cc31e00cc20365f;p=linux.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 7c7a388c85ab3,fa8fe7441952d..91276f9fe2688
--- 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)