ACPI / PCI / hotplug: unlock in error path in acpiphp_enable_slot()
authorInsu Yun <wuninsu@gmail.com>
Sat, 23 Jan 2016 20:44:19 +0000 (15:44 -0500)
committerSasha Levin <sasha.levin@oracle.com>
Mon, 15 Feb 2016 20:45:27 +0000 (15:45 -0500)
[ Upstream commit 2c3033a0664dfae91e1dee7fabac10f24354b958 ]

In acpiphp_enable_slot(), there is a missing unlock path
when error occurred.  It needs to be unlocked before returning
an error.

Signed-off-by: Insu Yun <wuninsu@gmail.com>
Cc: All applicable <stable@vger.kernel.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
drivers/pci/hotplug/acpiphp_glue.c

index bcb90e4..b60309e 100644 (file)
@@ -954,8 +954,10 @@ int acpiphp_enable_slot(struct acpiphp_slot *slot)
 {
        pci_lock_rescan_remove();
 
-       if (slot->flags & SLOT_IS_GOING_AWAY)
+       if (slot->flags & SLOT_IS_GOING_AWAY) {
+               pci_unlock_rescan_remove();
                return -ENODEV;
+       }
 
        /* configure all functions */
        if (!(slot->flags & SLOT_ENABLED))