From a3c841e420e124783a805919ab072551543e477b Mon Sep 17 00:00:00 2001 From: Matti Vaittinen Date: Mon, 10 Aug 2026 13:09:45 +0300 Subject: [PATCH] power: supply: bd71828: Do not hide errors The bd71828 reports success / continues operation even when some regmap operations fail. This can lead incorrect data to be reported. Return appropriate errors when operations fail. Signed-off-by: Matti Vaittinen Fixes: 5bff79dad20a ("power: supply: Add bd718(15/28/78) charger driver") Tested-by: Kalle Niemi Link: https://patch.msgid.link/22db56cf35252d2d8f67828a0554e8daac7ae251.1786356145.git.mazziesaccount@gmail.com Signed-off-by: Sebastian Reichel --- drivers/power/supply/bd71828-power.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/power/supply/bd71828-power.c b/drivers/power/supply/bd71828-power.c index a564ad7210be..589e12225cb2 100644 --- a/drivers/power/supply/bd71828-power.c +++ b/drivers/power/supply/bd71828-power.c @@ -456,8 +456,10 @@ static int bd71828_charger_get_property(struct power_supply *psy, switch (psp) { case POWER_SUPPLY_PROP_ONLINE: ret = get_chg_online(pwr, &online); - if (!ret) - val->intval = online; + if (ret) + return ret; + + val->intval = online; break; case POWER_SUPPLY_PROP_VOLTAGE_NOW: ret = bd7182x_read16_himask(pwr, pwr->regs->vdcin, @@ -1218,7 +1220,9 @@ static int bd71828_power_probe(struct platform_device *pdev) return dev_err_probe(&pdev->dev, ret, "sense resistor missing\n"); dev_set_drvdata(&pdev->dev, pwr); - bd71828_init_hardware(pwr); + ret = bd71828_init_hardware(pwr); + if (ret) + return dev_err_probe(&pdev->dev, ret, "hardware init failed\n"); bat_cfg.drv_data = pwr; bat_cfg.fwnode = dev_fwnode(&pdev->dev);