Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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 <abaci@linux.alibaba.com>
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
Tested-by: Chris Morgan <macromorgan@hotmail.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

authored by

Jiapeng Chong and committed by
Sebastian Reichel
3268a4d9 fe15c26e

-4
-4
drivers/power/supply/rk817_charger.c
··· 785 785 regmap_bulk_read(rk808->regmap, RK817_GAS_GAUGE_Q_PRES_H3, 786 786 bulk_reg, 4); 787 787 tmp = get_unaligned_be32(bulk_reg); 788 - if (tmp < 0) 789 - tmp = 0; 790 788 boot_charge_mah = ADC_TO_CHARGE_UAH(tmp, 791 789 charger->res_div) / 1000; 792 790 /* ··· 823 825 regmap_bulk_read(rk808->regmap, RK817_GAS_GAUGE_Q_PRES_H3, 824 826 bulk_reg, 4); 825 827 tmp = get_unaligned_be32(bulk_reg); 826 - if (tmp < 0) 827 - tmp = 0; 828 828 boot_charge_mah = ADC_TO_CHARGE_UAH(tmp, charger->res_div) / 1000; 829 829 regmap_bulk_read(rk808->regmap, RK817_GAS_GAUGE_OCV_VOL_H, 830 830 bulk_reg, 2);