diff options
author | Nuno Sa <nuno.sa@analog.com> | 2021-04-27 11:54:51 +0300 |
---|---|---|
committer | Jonathan Cameron <Jonathan.Cameron@huawei.com> | 2021-05-17 15:49:09 +0300 |
commit | 669da56a7eafb9b4025261a07f1d27364159cac9 (patch) | |
tree | 2228fdbf0a49bfb4acb17a86b3bf821382a7c6bb /drivers/iio/imu | |
parent | 0ae157081ca33d4ec5a997b67b8942bd149305b6 (diff) |
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.c | 8 |
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); |