From: Rafael J. Wysocki <[email protected]>

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 <[email protected]>
---
 drivers/acpi/glue.c |   19 +++++++------------
 1 file changed, 7 insertions(+), 12 deletions(-)

Index: linux-pm/drivers/acpi/glue.c
===================================================================
--- linux-pm.orig/drivers/acpi/glue.c
+++ linux-pm/drivers/acpi/glue.c
@@ -225,11 +225,15 @@ int acpi_bind_one(struct device *dev, ac
        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, ac
        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);
 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to