2022-12-14 03:43:14

by Jiapeng Chong

[permalink] [raw]
Subject: [PATCH v2] power: supply: rk817: Fix unsigned comparison with less than zero

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 <[email protected]>
Signed-off-by: Jiapeng Chong <[email protected]>
---
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


2022-12-15 19:13:50

by Chris Morgan

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

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 <[email protected]>
> Signed-off-by: Jiapeng Chong <[email protected]>

Looks good to me, thank you.

Tested-by: Chris Morgan <[email protected]>

> ---
> 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
>

2023-01-02 22:52:33

by Sebastian Reichel

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

Hi,

On Thu, Dec 15, 2022 at 01:04:14PM -0600, Chris Morgan wrote:
> 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 <[email protected]>
> > Signed-off-by: Jiapeng Chong <[email protected]>
>
> Looks good to me, thank you.
>
> Tested-by: Chris Morgan <[email protected]>

Thanks, queued to power-supply's fixes branch.

-- Sebastian

> > ---
> > 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
> >


Attachments:
(No filename) (2.12 kB)
signature.asc (849.00 B)
Download all attachments