[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20110412143554.289223792@clark.kroah.org>
Date: Tue, 12 Apr 2011 07:34:48 -0700
From: Greg KH <gregkh@...e.de>
To: linux-kernel@...r.kernel.org, stable@...nel.org
Cc: stable-review@...nel.org, torvalds@...ux-foundation.org,
akpm@...ux-foundation.org, alan@...rguk.ukuu.org.uk,
Michael Hennerich <michael.hennerich@...log.com>,
Jonathan Cameron <jic23@....ac.uk>
Subject: [059/105] staging: IIO: IMU: ADIS16400: Make sure only enabled scan_elements are pushed into the ring
2.6.38-stable review patch. If anyone has any objections, please let us know.
------------------
From: Michael Hennerich <michael.hennerich@...log.com>
commit 0fea4d6192cb82789e28905240d3c1dac6529c7c upstream.
Signed-off-by: Michael Hennerich <michael.hennerich@...log.com>
Acked-by: Jonathan Cameron <jic23@....ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@...e.de>
---
drivers/staging/iio/imu/adis16400_ring.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
--- a/drivers/staging/iio/imu/adis16400_ring.c
+++ b/drivers/staging/iio/imu/adis16400_ring.c
@@ -160,9 +160,10 @@ static void adis16400_trigger_bh_to_ring
work_trigger_to_ring);
struct iio_ring_buffer *ring = st->indio_dev->ring;
- int i = 0;
+ int i = 0, j;
s16 *data;
size_t datasize = ring->access.get_bytes_per_datum(ring);
+ unsigned long mask = ring->scan_mask;
data = kmalloc(datasize , GFP_KERNEL);
if (data == NULL) {
@@ -172,9 +173,12 @@ static void adis16400_trigger_bh_to_ring
if (ring->scan_count)
if (adis16400_spi_read_burst(&st->indio_dev->dev, st->rx) >= 0)
- for (; i < ring->scan_count; i++)
+ for (; i < ring->scan_count; i++) {
+ j = __ffs(mask);
+ mask &= ~(1 << j);
data[i] = be16_to_cpup(
- (__be16 *)&(st->rx[i*2]));
+ (__be16 *)&(st->rx[j*2]));
+ }
/* Guaranteed to be aligned with 8 byte boundary */
if (ring->scan_timestamp)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists