From 20c3dcb1f473aea0810bb6c3b46149188fe3be0b Mon Sep 17 00:00:00 2001 From: Andy Shevchenko Date: Wed, 17 Jun 2026 11:20:46 +0200 Subject: [PATCH] i2c: acpi: Free resource list at appropriate time We do unneeded "double free" (emptying an empty list) in one case. At the same time we shadow a real error code. Address them by refactoring the code in question. Both are not critical issues at all, they just make code robust against any possible future changes in the flow. Signed-off-by: Andy Shevchenko Acked-by: Mika Westerberg Signed-off-by: Andi Shyti Link: https://lore.kernel.org/r/20260617092046.2649219-1-andriy.shevchenko@linux.intel.com --- drivers/i2c/i2c-core-acpi.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/i2c/i2c-core-acpi.c b/drivers/i2c/i2c-core-acpi.c index 763743d5dbd6..10cdceaba475 100644 --- a/drivers/i2c/i2c-core-acpi.c +++ b/drivers/i2c/i2c-core-acpi.c @@ -168,9 +168,12 @@ static int i2c_acpi_do_lookup(struct acpi_device *adev, INIT_LIST_HEAD(&resource_list); ret = acpi_dev_get_resources(adev, &resource_list, i2c_acpi_fill_info, lookup); + if (ret < 0) + return ret; + acpi_dev_free_resource_list(&resource_list); - if (ret < 0 || !info->addr) + if (!info->addr) return -EINVAL; return 0;