|
@@ -38,10 +38,12 @@ static int adis16201_read_ring_data(struct iio_dev *indio_dev, u8 *rx)
|
|
|
xfers[i].cs_change = 1;
|
|
|
xfers[i].len = 2;
|
|
|
xfers[i].delay_usecs = 20;
|
|
|
- xfers[i].tx_buf = st->tx + 2 * i;
|
|
|
- st->tx[2 * i] = ADIS16201_READ_REG(ADIS16201_SUPPLY_OUT +
|
|
|
- 2 * i);
|
|
|
- st->tx[2 * i + 1] = 0;
|
|
|
+ if (i < ADIS16201_OUTPUTS) {
|
|
|
+ xfers[i].tx_buf = st->tx + 2 * i;
|
|
|
+ st->tx[2 * i] = ADIS16201_READ_REG(ADIS16201_SUPPLY_OUT +
|
|
|
+ 2 * i);
|
|
|
+ st->tx[2 * i + 1] = 0;
|
|
|
+ }
|
|
|
if (i >= 1)
|
|
|
xfers[i].rx_buf = rx + 2 * (i - 1);
|
|
|
spi_message_add_tail(&xfers[i], &msg);
|