It makes more sense to update the device page as soon as we we successfully changed it. Moreover, a follow up patch will handle 'spi_sync' error path which would leave 'current_page' in a inconsistent state. Signed-off-by: Nuno Sa <nuno.sa@xxxxxxxxxx> --- drivers/iio/imu/adis_buffer.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/iio/imu/adis_buffer.c b/drivers/iio/imu/adis_buffer.c index 0ae551a748eb..4fc0e0ca7561 100644 --- a/drivers/iio/imu/adis_buffer.c +++ b/drivers/iio/imu/adis_buffer.c @@ -140,6 +140,8 @@ static irqreturn_t adis_trigger_handler(int irq, void *p) mutex_unlock(&adis->state_lock); goto irq_done; } + + adis->current_page = 0; } } @@ -148,10 +150,8 @@ static irqreturn_t adis_trigger_handler(int irq, void *p) dev_err(&adis->spi->dev, "Failed to read data: %d", ret); - if (adis->data->has_paging) { - adis->current_page = 0; + if (adis->data->has_paging) mutex_unlock(&adis->state_lock); - } iio_push_to_buffers_with_timestamp(indio_dev, adis->buffer, pf->timestamp); -- 2.31.1