summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorSanman Pradhan <psanman@juniper.net>2026-04-17 00:59:40 +0300
committerGuenter Roeck <linux@roeck-us.net>2026-04-30 20:23:59 +0300
commit2da0c1fd01dbd6b22844e8676585153dfc660cbe (patch)
tree77d7ab6bf0d96d260c81a8ce051658675b4c8da7 /scripts
parentd6cc7c99bf1f73eda7d565d224d791d16239bb41 (diff)
downloadlinux-2da0c1fd01dbd6b22844e8676585153dfc660cbe.tar.xz
hwmon: (ltc2992) Fix u32 overflow in power read path
ltc2992_get_power() computes the divisor for mul_u64_u32_div() as r_sense_uohm * 1000. This multiplication overflows u32 when r_sense_uohm exceeds about 4.29 ohms (4294967 micro-ohms), producing a truncated divisor and an incorrect power reading. Cancel the factor of 1000 from both the numerator (VADC_UV_LSB * IADC_NANOV_LSB = 312500000) and the divisor (r_sense_uohm * 1000), giving (VADC_UV_LSB / 1000) * IADC_NANOV_LSB = 312500 as the numerator and plain r_sense_uohm as the divisor. The cancellation is exact because LTC2992_VADC_UV_LSB (25000) is divisible by 1000. This is the read-path counterpart of the write-path fix applied in the preceding patch. Fixes: b0bd407e94b03 ("hwmon: (ltc2992) Add support") Cc: stable@vger.kernel.org Signed-off-by: Sanman Pradhan <psanman@juniper.net> Link: https://lore.kernel.org/r/20260416215904.101969-3-sanman.pradhan@hpe.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Diffstat (limited to 'scripts')
0 files changed, 0 insertions, 0 deletions