diff options
author | Stefan Brüns <stefan.bruens@rwth-aachen.de> | 2017-07-26 23:32:06 +0200 |
---|---|---|
committer | Jonathan Cameron <Jonathan.Cameron@huawei.com> | 2017-07-30 14:50:19 +0100 |
commit | ff3aa88a4d61468baece3fc2bb54e2a3bea6360f (patch) | |
tree | 963771037ce6cdcf0f27604070ad6eb2bccf7aae /drivers/iio/adc/ina2xx-adc.c | |
parent | 90938ca432e6b8f6bb1c22a24984738fc3d906ed (diff) | |
download | linux-ff3aa88a4d61468baece3fc2bb54e2a3bea6360f.tar.gz linux-ff3aa88a4d61468baece3fc2bb54e2a3bea6360f.tar.bz2 linux-ff3aa88a4d61468baece3fc2bb54e2a3bea6360f.zip |
iio: adc: ina219: Avoid underflow for sleeping time
Proper support for the INA219 lowered the minimum sampling period from
2*140us to 2*84us. Subtracting 200us later leads to an underflow and
an almost infinite udelay later.
Using a signed int for the sampling period provides sufficient range
(at most 2*8640*1024us), but catches the underflow when comparing with
buffer_us.
Fixes: 18edac2e22f4 ("iio: adc: Fix integration time/averaging for INA219/220")
Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Diffstat (limited to 'drivers/iio/adc/ina2xx-adc.c')
-rw-r--r-- | drivers/iio/adc/ina2xx-adc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/iio/adc/ina2xx-adc.c b/drivers/iio/adc/ina2xx-adc.c index 232c0b80d658..c3f86138cb55 100644 --- a/drivers/iio/adc/ina2xx-adc.c +++ b/drivers/iio/adc/ina2xx-adc.c @@ -644,7 +644,7 @@ static int ina2xx_capture_thread(void *data) { struct iio_dev *indio_dev = data; struct ina2xx_chip_info *chip = iio_priv(indio_dev); - unsigned int sampling_us = SAMPLING_PERIOD(chip); + int sampling_us = SAMPLING_PERIOD(chip); int buffer_us; /* |