RE: [PATCH] iio: imu: adis16550: fix swapped gyro/accel filter functions

From: Budai, Robert

Date: Tue Mar 03 2026 - 07:41:25 EST




> -----Original Message-----
> From: Antoniu Miclaus <antoniu.miclaus@xxxxxxxxxx>
> Sent: Friday, February 27, 2026 2:21 PM
> To: Lars-Peter Clausen <lars@xxxxxxxxxx>; Hennerich, Michael
> <Michael.Hennerich@xxxxxxxxxx>; Jonathan Cameron <jic23@xxxxxxxxxx>;
> David Lechner <dlechner@xxxxxxxxxxxx>; Sa, Nuno <Nuno.Sa@xxxxxxxxxx>;
> Andy Shevchenko <andy@xxxxxxxxxx>; Budai, Robert
> <Robert.Budai@xxxxxxxxxx>; Miclaus, Antoniu
> <Antoniu.Miclaus@xxxxxxxxxx>; Gradinariu, Ramona
> <Ramona.Gradinariu@xxxxxxxxxx>; linux-iio@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx
> Subject: [PATCH] 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: bac4368fab62 ("iio: imu: adis16550: add adis16550 support")
> Signed-off-by: Antoniu Miclaus <antoniu.miclaus@xxxxxxxxxx>
> ---
Acked-by: Robert Budai <robert.budai@xxxxxxxxxx>
> drivers/iio/imu/adis16550.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/iio/imu/adis16550.c b/drivers/iio/imu/adis16550.c
> index 28f0dbd0226c..1f2af506f4bd 100644
> --- a/drivers/iio/imu/adis16550.c
> +++ b/drivers/iio/imu/adis16550.c
> @@ -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;
> }
> --
> 2.43.0