aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/iio/imu
diff options
context:
space:
mode:
authorNuno Sa <nuno.sa@analog.com>2021-04-27 10:54:51 +0200
committerJonathan Cameron <Jonathan.Cameron@huawei.com>2021-05-17 13:49:09 +0100
commit669da56a7eafb9b4025261a07f1d27364159cac9 (patch)
tree2228fdbf0a49bfb4acb17a86b3bf821382a7c6bb /drivers/iio/imu
parentiio: adis_buffer: update device page after changing it (diff)
downloadlinux-dev-669da56a7eafb9b4025261a07f1d27364159cac9.tar.xz
linux-dev-669da56a7eafb9b4025261a07f1d27364159cac9.zip
iio: adis_buffer: don't push data to buffers on failure
There's no point in pushing data to IIO buffers in case 'spi_sync()' fails. Reviewed-by: Alexandru Ardelean <ardeleanalex@gmail.com> Signed-off-by: Nuno Sa <nuno.sa@analog.com> Link: https://lore.kernel.org/r/20210427085454.30616-4-nuno.sa@analog.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Diffstat (limited to 'drivers/iio/imu')
-rw-r--r--drivers/iio/imu/adis_buffer.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/iio/imu/adis_buffer.c b/drivers/iio/imu/adis_buffer.c
index 4fc0e0ca7561..f6dbfbd17d41 100644
--- a/drivers/iio/imu/adis_buffer.c
+++ b/drivers/iio/imu/adis_buffer.c
@@ -146,12 +146,12 @@ static irqreturn_t adis_trigger_handler(int irq, void *p)
}
ret = spi_sync(adis->spi, &adis->msg);
- if (ret)
- dev_err(&adis->spi->dev, "Failed to read data: %d", ret);
-
-
if (adis->data->has_paging)
mutex_unlock(&adis->state_lock);
+ if (ret) {
+ dev_err(&adis->spi->dev, "Failed to read data: %d", ret);
+ goto irq_done;
+ }
iio_push_to_buffers_with_timestamp(indio_dev, adis->buffer,
pf->timestamp);