[PATCH 4/5] power: supply: bd71828: Do not hide errors

From: Matti Vaittinen

Date: Mon Aug 10 2026 - 06:15:17 EST


From: Matti Vaittinen <mazziesaccount@xxxxxxxxx>

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 <mazziesaccount@xxxxxxxxx>
Fixes: 5bff79dad20a ("power: supply: Add bd718(15/28/78) charger driver")
---
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);
--
2.55.0

Attachment: signature.asc
Description: PGP signature