mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-16 10:11:38 -04:00
iio: imu: adis16550: fix swapped gyro/accel filter functions
The low-pass filter handlers for IIO_ANGL_VEL and IIO_ACCEL call each
other's filter functions in both read_raw and write_raw. Swap them so
each channel type uses its correct filter accessor.
Fixes: bac4368fab ("iio: imu: adis16550: add adis16550 support")
Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
Acked-by: Robert Budai <robert.budai@analog.com>
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
committed by
Jonathan Cameron
parent
7cf2f6ed8e
commit
ea7e2e43d7
@@ -643,12 +643,12 @@ static int adis16550_read_raw(struct iio_dev *indio_dev,
|
||||
case IIO_CHAN_INFO_LOW_PASS_FILTER_3DB_FREQUENCY:
|
||||
switch (chan->type) {
|
||||
case IIO_ANGL_VEL:
|
||||
ret = adis16550_get_accl_filter_freq(st, val);
|
||||
ret = adis16550_get_gyro_filter_freq(st, val);
|
||||
if (ret)
|
||||
return ret;
|
||||
return IIO_VAL_INT;
|
||||
case IIO_ACCEL:
|
||||
ret = adis16550_get_gyro_filter_freq(st, val);
|
||||
ret = adis16550_get_accl_filter_freq(st, val);
|
||||
if (ret)
|
||||
return ret;
|
||||
return IIO_VAL_INT;
|
||||
@@ -681,9 +681,9 @@ static int adis16550_write_raw(struct iio_dev *indio_dev,
|
||||
case IIO_CHAN_INFO_LOW_PASS_FILTER_3DB_FREQUENCY:
|
||||
switch (chan->type) {
|
||||
case IIO_ANGL_VEL:
|
||||
return adis16550_set_accl_filter_freq(st, val);
|
||||
case IIO_ACCEL:
|
||||
return adis16550_set_gyro_filter_freq(st, val);
|
||||
case IIO_ACCEL:
|
||||
return adis16550_set_accl_filter_freq(st, val);
|
||||
default:
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user