Re: [PATCH 2/2] power: supply: max17042_battery: Prevent int underflow in set_soc_threshold

From: Krzysztof Kozlowski
Date: Mon Sep 13 2021 - 09:08:10 EST


On 12/09/2021 22:54, Sebastian Krzyszkowiak wrote:
> Fixes: e5f3872d2044 ("max17042: Add support for signalling change in SOC")

You need commit and bug description.

> Cc: <stable@xxxxxxxxxxxxxxx>
> Signed-off-by: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@xxxxxxx>
> ---
> drivers/power/supply/max17042_battery.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/power/supply/max17042_battery.c b/drivers/power/supply/max17042_battery.c
> index c53980c8432a..caf83b4d622f 100644
> --- a/drivers/power/supply/max17042_battery.c
> +++ b/drivers/power/supply/max17042_battery.c
> @@ -857,7 +857,8 @@ static void max17042_set_soc_threshold(struct max17042_chip *chip, u16 off)
> regmap_read(map, MAX17042_RepSOC, &soc);
> soc >>= 8;
> soc_tr = (soc + off) << 8;
> - soc_tr |= (soc - off);
> + if (off < soc)
> + soc_tr |= soc - off;
> regmap_write(map, MAX17042_SALRT_Th, soc_tr);
> }
>
>


Best regards,
Krzysztof