staging:iio:adis16400: Don't pass 0 to ilog2
ilog2 is not defined for 0, so we need to handle the case where the requested frequency is larger than the base sampling rate. In this case we'll round down and set the sampling rate to the base sampling rate. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
This commit is contained in:
parent
3f6a0bad61
commit
06220b89f2
@ -178,7 +178,11 @@ static int adis16334_set_freq(struct iio_dev *indio_dev, unsigned int freq)
|
||||
{
|
||||
unsigned int t;
|
||||
|
||||
t = ilog2(8192 / (freq * 10));
|
||||
freq *= 10;
|
||||
if (freq < 8192)
|
||||
t = ilog2(8192 / freq);
|
||||
else
|
||||
t = 0;
|
||||
|
||||
if (t > 0x31)
|
||||
t = 0x31;
|
||||
|
Loading…
Reference in New Issue
Block a user