Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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 4483d59e29fe 'ACPI / LPSS: check the result
of ioremap()'.

Fixes: 4483d59e29fe 'ACPI / LPSS: check the result of ioremap()'
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Cc: 4.0+ <stable@vger.kernel.org> # 4.0+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

+5 -2
+5 -2
drivers/acpi/acpi_lpss.c
··· 352 352 pdata->mmio_size = resource_size(rentry->res); 353 353 pdata->mmio_base = ioremap(rentry->res->start, 354 354 pdata->mmio_size); 355 - if (!pdata->mmio_base) 356 - goto err_out; 357 355 break; 358 356 } 359 357 360 358 acpi_dev_free_resource_list(&resource_list); 359 + 360 + if (!pdata->mmio_base) { 361 + ret = -ENOMEM; 362 + goto err_out; 363 + } 361 364 362 365 pdata->dev_desc = dev_desc; 363 366