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:
Lars-Peter Clausen 2013-01-16 12:48:00 +00:00 committed by Jonathan Cameron
parent 3f6a0bad61
commit 06220b89f2

View File

@ -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;