]> git.karo-electronics.de Git - linux-beck.git/commitdiff
iio: buffer: Fix demux table creation
authorLars-Peter Clausen <lars@metafoo.de>
Thu, 17 Jul 2014 15:59:00 +0000 (16:59 +0100)
committerJonathan Cameron <jic23@kernel.org>
Sun, 20 Jul 2014 14:44:39 +0000 (15:44 +0100)
When creating the demux table we need to iterate over the selected scan mask for
the buffer to get the samples which should be copied to destination buffer.
Right now the code uses the mask which contains all active channels, which means
the demux table contains entries which causes it to copy all the samples from
source to destination buffer one by one without doing any demuxing.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Cc: Stable@vger.kernel.org
drivers/iio/industrialio-buffer.c

index 36b1ae92e2392b5e8b59032fe9df02a8ee2aebf4..9f1a14009901e84f2015b56c5bc75a44b06d9ae3 100644 (file)
@@ -966,7 +966,7 @@ static int iio_buffer_update_demux(struct iio_dev *indio_dev,
 
        /* Now we have the two masks, work from least sig and build up sizes */
        for_each_set_bit(out_ind,
-                        indio_dev->active_scan_mask,
+                        buffer->scan_mask,
                         indio_dev->masklength) {
                in_ind = find_next_bit(indio_dev->active_scan_mask,
                                       indio_dev->masklength,