[PATCH next] power: supply: fix a double free on error in probe()

From: Dan Carpenter
Date: Thu Sep 05 2024 - 09:29:16 EST


In this code, if devm_add_action_or_reset() fails, it will call
max1720x_unregister_ancillary() which in turn calls
i2c_unregister_device(). Thus the call to i2c_unregister_device() on the
following line is not required and is a double unregister. Delete it.

Fixes: 47271a935619 ("power: supply: max1720x: add read support for nvmem")
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
---
>From code review, not tested.

drivers/power/supply/max1720x_battery.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/power/supply/max1720x_battery.c b/drivers/power/supply/max1720x_battery.c
index 3e84e70340e4..2bc3dce963a3 100644
--- a/drivers/power/supply/max1720x_battery.c
+++ b/drivers/power/supply/max1720x_battery.c
@@ -427,7 +427,6 @@ static int max1720x_probe_nvmem(struct i2c_client *client,

ret = devm_add_action_or_reset(dev, max1720x_unregister_ancillary, info);
if (ret) {
- i2c_unregister_device(info->ancillary);
dev_err(dev, "Failed to add unregister callback\n");
return ret;
}
--
2.45.2