Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d3e13ff3 authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

ACPI / LPSS: Fix up acpi_lpss_create_device()



Fix a return value (which should be a negative error code) and a
memory leak (the list allocated by acpi_dev_get_resources() needs
to be freed on ioremap() errors too) in acpi_lpss_create_device()
introduced by commit 4483d59e 'ACPI / LPSS: check the result
of ioremap()'.

Fixes: 4483d59e 'ACPI / LPSS: check the result of ioremap()'
Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Cc: 4.0+ <stable@vger.kernel.org> # 4.0+
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent d770e558
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -352,13 +352,16 @@ static int acpi_lpss_create_device(struct acpi_device *adev,
				pdata->mmio_size = resource_size(rentry->res);
			pdata->mmio_base = ioremap(rentry->res->start,
						   pdata->mmio_size);
			if (!pdata->mmio_base)
				goto err_out;
			break;
		}

	acpi_dev_free_resource_list(&resource_list);

	if (!pdata->mmio_base) {
		ret = -ENOMEM;
		goto err_out;
	}

	pdata->dev_desc = dev_desc;

	if (dev_desc->setup)