Re: [PATCH v2] power: supply: rk817: Fix unsigned comparison with less than zero

From: Chris Morgan
Date: Thu Dec 15 2022 - 14:04:27 EST


On Wed, Dec 14, 2022 at 11:23:16AM +0800, Jiapeng Chong wrote:
> The tmp is defined as u32 type, which results in invalid processing of
> tmp<0 in function rk817_read_or_set_full_charge_on_boot(). Therefore,
> drop the comparison.
>
> drivers/power/supply/rk817_charger.c:828 rk817_read_or_set_full_charge_on_boot() warn: unsigned 'tmp' is never less than zero.
> drivers/power/supply/rk817_charger.c:788 rk817_read_or_set_full_charge_on_boot() warn: unsigned 'tmp' is never less than zero.
>
> Link: https://bugzilla.openanolis.cn/show_bug.cgi?id=3444
> Reported-by: Abaci Robot <abaci@xxxxxxxxxxxxxxxxx>
> Signed-off-by: Jiapeng Chong <jiapeng.chong@xxxxxxxxxxxxxxxxx>

Looks good to me, thank you.

Tested-by: Chris Morgan <macromorgan@xxxxxxxxxxx>

> ---
> Changes in v2:
> -Drop the comparison 'tmp<0'.
>
> drivers/power/supply/rk817_charger.c | 4 ----
> 1 file changed, 4 deletions(-)
>
> diff --git a/drivers/power/supply/rk817_charger.c b/drivers/power/supply/rk817_charger.c
> index 4f9c1c417916..36f807b5ec44 100644
> --- a/drivers/power/supply/rk817_charger.c
> +++ b/drivers/power/supply/rk817_charger.c
> @@ -785,8 +785,6 @@ rk817_read_or_set_full_charge_on_boot(struct rk817_charger *charger,
> regmap_bulk_read(rk808->regmap, RK817_GAS_GAUGE_Q_PRES_H3,
> bulk_reg, 4);
> tmp = get_unaligned_be32(bulk_reg);
> - if (tmp < 0)
> - tmp = 0;
> boot_charge_mah = ADC_TO_CHARGE_UAH(tmp,
> charger->res_div) / 1000;
> /*
> @@ -825,8 +823,6 @@ rk817_read_or_set_full_charge_on_boot(struct rk817_charger *charger,
> regmap_bulk_read(rk808->regmap, RK817_GAS_GAUGE_Q_PRES_H3,
> bulk_reg, 4);
> tmp = get_unaligned_be32(bulk_reg);
> - if (tmp < 0)
> - tmp = 0;
> boot_charge_mah = ADC_TO_CHARGE_UAH(tmp, charger->res_div) / 1000;
> regmap_bulk_read(rk808->regmap, RK817_GAS_GAUGE_OCV_VOL_H,
> bulk_reg, 2);
> --
> 2.20.1.7.g153144c
>