From be2c0d5418b1f44b01154a71e4501de139d0a7c9 Mon Sep 17 00:00:00 2001 From: Christophe JAILLET Date: Tue, 28 Dec 2021 21:43:22 +0100 Subject: [PATCH] power: supply: ab8500: Fix the error handling path of ab8500_charger_probe() Since the commit below, ab8500_bm_of_remove() needs to be called after a successful ab8500_bm_of_probe() call. This commit has only updated the remove function. Fix the error handling path of the probe the same way. Fixes: 6252c706cdb0 ("power: supply: ab8500: Standardize operating temperature") Signed-off-by: Christophe JAILLET Reviewed-by: Linus Walleij Signed-off-by: Sebastian Reichel --- drivers/power/supply/ab8500_charger.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/power/supply/ab8500_charger.c b/drivers/power/supply/ab8500_charger.c index db7457064a17..ce074c018dcb 100644 --- a/drivers/power/supply/ab8500_charger.c +++ b/drivers/power/supply/ab8500_charger.c @@ -3665,11 +3665,13 @@ static int ab8500_charger_probe(struct platform_device *pdev) } if (!match) { dev_err(dev, "no matching components\n"); - return -ENODEV; + ret = -ENODEV; + goto remove_ab8500_bm; } if (IS_ERR(match)) { dev_err(dev, "could not create component match\n"); - return PTR_ERR(match); + ret = PTR_ERR(match); + goto remove_ab8500_bm; } /* Notifier for external charger enabling */ @@ -3710,6 +3712,8 @@ out_charger_notifier: if (!di->ac_chg.enabled) blocking_notifier_chain_unregister( &charger_notifier_list, &charger_nb); +remove_ab8500_bm: + ab8500_bm_of_remove(di->usb_chg.psy, di->bm); return ret; }