diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-02-14 10:33:13 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-02-14 10:33:13 -0800 |
commit | 85643586677c877f28891200e0cb9514547af589 (patch) | |
tree | a13207c446e9470b92b82b0322132ff3bf005884 | |
parent | 0a33d88d072ff589f0cfa18212ef8565dc1c82f2 (diff) | |
parent | d3d89c468ceebbcf9423d1a3d66c5bf91f569570 (diff) |
Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
Pull hwmon fix from Guenter Roeck:
"Fix arithmetic overflow in ntc_thermistor driver"
* tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
hwmon: (ntc_thermistor) Avoid math overflow
-rw-r--r-- | drivers/hwmon/ntc_thermistor.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/hwmon/ntc_thermistor.c b/drivers/hwmon/ntc_thermistor.c index 8c23203915a..8a17f01e867 100644 --- a/drivers/hwmon/ntc_thermistor.c +++ b/drivers/hwmon/ntc_thermistor.c @@ -145,7 +145,7 @@ struct ntc_data { static int ntc_adc_iio_read(struct ntc_thermistor_platform_data *pdata) { struct iio_channel *channel = pdata->chan; - unsigned int result; + s64 result; int val, ret; ret = iio_read_channel_raw(channel, &val); @@ -155,10 +155,10 @@ static int ntc_adc_iio_read(struct ntc_thermistor_platform_data *pdata) } /* unit: mV */ - result = pdata->pullup_uv * val; + result = pdata->pullup_uv * (s64) val; result >>= 12; - return result; + return (int)result; } static const struct of_device_id ntc_match[] = { |