ACPI: Drop unnecessary label from acpi_bind_one()
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 8 Aug 2013 14:19:10 +0000 (16:19 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 8 Aug 2013 22:52:21 +0000 (00:52 +0200)
The out_free label in acpi_bind_one() is only jumped to from one
place, so in fact it is not necessary, because the code below it
can be moved to that place directly.  Move that code and drop the
label.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Toshi Kani <toshi.kani@hp.com>
drivers/acpi/glue.c

index dcba319ac3f12dbee1dbd5d7f614bd67cee11ca7..f3ead0ce37ab455e92e625d084b9b5e79e39609c 100644 (file)
@@ -225,11 +225,15 @@ int acpi_bind_one(struct device *dev, acpi_handle handle)
        list_for_each_entry(pn, &acpi_dev->physical_node_list, node) {
                /* Sanity check. */
                if (pn->dev == dev) {
+                       mutex_unlock(&acpi_dev->physical_node_lock);
+
                        dev_warn(dev, "Already associated with ACPI node\n");
-                       if (ACPI_HANDLE(dev) == handle)
-                               retval = 0;
+                       kfree(physical_node);
+                       if (ACPI_HANDLE(dev) != handle)
+                               goto err;
 
-                       goto out_free;
+                       put_device(dev);
+                       return 0;
                }
                if (pn->node_id == node_id) {
                        physnode_list = &pn->node;
@@ -262,15 +266,6 @@ int acpi_bind_one(struct device *dev, acpi_handle handle)
        ACPI_HANDLE_SET(dev, NULL);
        put_device(dev);
        return retval;
-
- out_free:
-       mutex_unlock(&acpi_dev->physical_node_lock);
-       kfree(physical_node);
-       if (retval)
-               goto err;
-
-       put_device(dev);
-       return 0;
 }
 EXPORT_SYMBOL_GPL(acpi_bind_one);