ACPI / hotplug / PCI: Drop WARN_ON() from acpiphp_enumerate_slots()
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 11 Oct 2013 23:49:48 +0000 (01:49 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 11 Oct 2013 23:49:48 +0000 (01:49 +0200)
The WARN_ON() in acpiphp_enumerate_slots() triggers unnecessarily for
devices whose bridges are going to be handled by native PCIe hotplug
(pciehp) and the simplest way to prevent that from happening is to
drop the WARN_ON().

References: https://bugzilla.kernel.org/show_bug.cgi?id=62831
Reported-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/pci/hotplug/acpiphp_glue.c

index 5042b572609e8e8d4e9c7d4f9c30d42a720ec822..be12fbfcae1042e90c00d192bffe46c47821b6c4 100644 (file)
@@ -994,12 +994,13 @@ void acpiphp_enumerate_slots(struct pci_bus *bus)
 
                /*
                 * This bridge should have been registered as a hotplug function
-                * under its parent, so the context has to be there.  If not, we
-                * are in deep goo.
+                * under its parent, so the context should be there, unless the
+                * parent is going to be handled by pciehp, in which case this
+                * bridge is not interesting to us either.
                 */
                mutex_lock(&acpiphp_context_lock);
                context = acpiphp_get_context(handle);
-               if (WARN_ON(!context)) {
+               if (!context) {
                        mutex_unlock(&acpiphp_context_lock);
                        put_device(&bus->dev);
                        pci_dev_put(bridge->pci_dev);