Message ID | 20221213101904.42260-1-jiapeng.chong@linux.alibaba.com (mailing list archive) |
---|---|
State | Handled Elsewhere, archived |
Headers | show |
Series | power: supply: rk817: Fix unsigned comparison with less than zero | expand |
On Tue, Dec 13, 2022 at 06:19:04PM +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, > change the tmp type to int. Good catch, but I'm wondering if we shouldn't just drop the comparison to less than zero? If I'm not mistaken get_unaligned_be32() only returns unsigned integers anyway, right? Assuming my understanding is right, we'll just drop the comparison. Otherwise, this would be the appropriate fix. Thank you for catching this! Chris > > 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@linux.alibaba.com> > Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com> > --- > drivers/power/supply/rk817_charger.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/power/supply/rk817_charger.c b/drivers/power/supply/rk817_charger.c > index 4f9c1c417916..7eefbcc0a4e9 100644 > --- a/drivers/power/supply/rk817_charger.c > +++ b/drivers/power/supply/rk817_charger.c > @@ -731,8 +731,8 @@ rk817_read_or_set_full_charge_on_boot(struct rk817_charger *charger, > { > struct rk808 *rk808 = charger->rk808; > u8 bulk_reg[4]; > - u32 boot_voltage, boot_charge_mah, tmp; > - int ret, reg, off_time; > + u32 boot_voltage, boot_charge_mah; > + int ret, reg, off_time, tmp; > bool first_boot; > > /* > -- > 2.20.1.7.g153144c >
diff --git a/drivers/power/supply/rk817_charger.c b/drivers/power/supply/rk817_charger.c index 4f9c1c417916..7eefbcc0a4e9 100644 --- a/drivers/power/supply/rk817_charger.c +++ b/drivers/power/supply/rk817_charger.c @@ -731,8 +731,8 @@ rk817_read_or_set_full_charge_on_boot(struct rk817_charger *charger, { struct rk808 *rk808 = charger->rk808; u8 bulk_reg[4]; - u32 boot_voltage, boot_charge_mah, tmp; - int ret, reg, off_time; + u32 boot_voltage, boot_charge_mah; + int ret, reg, off_time, tmp; bool first_boot; /*
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, change the tmp type to int. 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@linux.alibaba.com> Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com> --- drivers/power/supply/rk817_charger.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)