summaryrefslogtreecommitdiff
path: root/drivers/staging/iio/accel/adis16201_ring.c
diff options
context:
space:
mode:
authorJonathan Cameron <jic23@cam.ac.uk>2011-08-12 16:55:34 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2011-08-23 13:28:43 -0700
commit70a876c59007ddb166a36c1073f45633bef1513b (patch)
tree8781d93436c3ffbd16d3ebee89b8d1f7f226f7bf /drivers/staging/iio/accel/adis16201_ring.c
parent0cbb2b53fb57b002d0511226f3ad001569be9c66 (diff)
staging:iio:accel:adis16201 overflow tx buffer.
Smatch caught bug. Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/iio/accel/adis16201_ring.c')
-rw-r--r--drivers/staging/iio/accel/adis16201_ring.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/staging/iio/accel/adis16201_ring.c b/drivers/staging/iio/accel/adis16201_ring.c
index 66e708ddf8b2..a745d5debc20 100644
--- a/drivers/staging/iio/accel/adis16201_ring.c
+++ b/drivers/staging/iio/accel/adis16201_ring.c
@@ -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);