Commit 9e5d3d6b authored by Davidlohr Bueso's avatar Davidlohr Bueso Committed by Rafael J. Wysocki
Browse files

thermal: int340x: Consolidate freeing of acpi_buffer pointer



Introduce a single point of freeing/exit after ensuring no error in
int3400_setup_gddv().

Signed-off-by: default avatarDavidlohr Bueso <dave@stgolabs.net>
Acked-by: default avatarZhang Rui <rui.zhang@intel.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent bdff938d
Loading
Loading
Loading
Loading
+5 −8
Original line number Diff line number Diff line
@@ -508,21 +508,18 @@ static void int3400_setup_gddv(struct int3400_thermal_priv *priv)

	obj = buffer.pointer;
	if (obj->type != ACPI_TYPE_PACKAGE || obj->package.count != 1
	    || obj->package.elements[0].type != ACPI_TYPE_BUFFER) {
		kfree(buffer.pointer);
		return;
	}
	    || obj->package.elements[0].type != ACPI_TYPE_BUFFER)
		goto out_free;

	priv->data_vault = kmemdup(obj->package.elements[0].buffer.pointer,
				   obj->package.elements[0].buffer.length,
				   GFP_KERNEL);
	if (!priv->data_vault) {
		kfree(buffer.pointer);
		return;
	}
	if (!priv->data_vault)
		goto out_free;

	bin_attr_data_vault.private = priv->data_vault;
	bin_attr_data_vault.size = obj->package.elements[0].buffer.length;
out_free:
	kfree(buffer.pointer);
}