فهرست منبع

ACPI: Drop unnecessary label from acpi_bind_one()

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>
Rafael J. Wysocki 12 سال پیش
والد
کامیت
3342c753bd
1فایلهای تغییر یافته به همراه7 افزوده شده و 12 حذف شده
  1. 7 12
      drivers/acpi/glue.c

+ 7 - 12
drivers/acpi/glue.c

@@ -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) {
 	list_for_each_entry(pn, &acpi_dev->physical_node_list, node) {
 		/* Sanity check. */
 		/* Sanity check. */
 		if (pn->dev == dev) {
 		if (pn->dev == dev) {
+			mutex_unlock(&acpi_dev->physical_node_lock);
+
 			dev_warn(dev, "Already associated with ACPI node\n");
 			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) {
 		if (pn->node_id == node_id) {
 			physnode_list = &pn->node;
 			physnode_list = &pn->node;
@@ -262,15 +266,6 @@ int acpi_bind_one(struct device *dev, acpi_handle handle)
 	ACPI_HANDLE_SET(dev, NULL);
 	ACPI_HANDLE_SET(dev, NULL);
 	put_device(dev);
 	put_device(dev);
 	return retval;
 	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);
 EXPORT_SYMBOL_GPL(acpi_bind_one);