mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08:00
regulator: max14577: Add error check for max14577_read_reg()
The function max14577_reg_get_current_limit() calls the function
max14577_read_reg(), but does not check its return value. A proper
implementation can be found in max14577_get_online().
Add a error check for the max14577_read_reg() and return error code
if the function fails.
Fixes: b0902bbeb7
("regulator: max14577: Add regulator driver for Maxim 14577")
Cc: stable@vger.kernel.org # v3.14
Signed-off-by: Wentao Liang <vulab@iscas.ac.cn>
Link: https://patch.msgid.link/20250526025627.407-1-vulab@iscas.ac.cn
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
dcd7110213
commit
65271f868c
@ -40,11 +40,14 @@ static int max14577_reg_get_current_limit(struct regulator_dev *rdev)
|
|||||||
struct max14577 *max14577 = rdev_get_drvdata(rdev);
|
struct max14577 *max14577 = rdev_get_drvdata(rdev);
|
||||||
const struct maxim_charger_current *limits =
|
const struct maxim_charger_current *limits =
|
||||||
&maxim_charger_currents[max14577->dev_type];
|
&maxim_charger_currents[max14577->dev_type];
|
||||||
|
int ret;
|
||||||
|
|
||||||
if (rdev_get_id(rdev) != MAX14577_CHARGER)
|
if (rdev_get_id(rdev) != MAX14577_CHARGER)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
max14577_read_reg(rmap, MAX14577_CHG_REG_CHG_CTRL4, ®_data);
|
ret = max14577_read_reg(rmap, MAX14577_CHG_REG_CHG_CTRL4, ®_data);
|
||||||
|
if (ret < 0)
|
||||||
|
return ret;
|
||||||
|
|
||||||
if ((reg_data & CHGCTRL4_MBCICHWRCL_MASK) == 0)
|
if ((reg_data & CHGCTRL4_MBCICHWRCL_MASK) == 0)
|
||||||
return limits->min;
|
return limits->min;
|
||||||
|
Loading…
Reference in New Issue
Block a user