From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Lars-Peter Clausen To: Jonathan Cameron CC: Michael Hennerich , , , , Lars-Peter Clausen Subject: [PATCH] staging:iio: Fix scan mask update Date: Wed, 7 Dec 2011 15:43:44 +0100 Message-ID: <1323269024-21656-1-git-send-email-lars@metafoo.de> MIME-Version: 1.0 Content-Type: text/plain List-ID: When updating the scan mask we have to check the actual scan mask for if the channel is already enabled, not the matching scan mask from the available scan masks. The bit will already be set there and as a result the actual scan mask will not get updated and the channel stays disabled. Signed-off-by: Lars-Peter Clausen --- drivers/staging/iio/industrialio-buffer.c | 12 ++---------- 1 files changed, 2 insertions(+), 10 deletions(-) diff --git a/drivers/staging/iio/industrialio-buffer.c b/drivers/staging/iio/industrialio-buffer.c index f629e8b..a539c7c 100644 --- a/drivers/staging/iio/industrialio-buffer.c +++ b/drivers/staging/iio/industrialio-buffer.c @@ -171,7 +171,7 @@ static ssize_t iio_scan_el_store(struct device *dev, error_ret: mutex_unlock(&indio_dev->mlock); - return ret ? ret : len; + return ret < 0 ? ret : len; } @@ -617,16 +617,8 @@ int iio_scan_mask_query(struct iio_dev *indio_dev, if (!buffer->scan_mask) return 0; - if (indio_dev->available_scan_masks) - mask = iio_scan_mask_match(indio_dev->available_scan_masks, - indio_dev->masklength, - buffer->scan_mask); - else - mask = buffer->scan_mask; - if (!mask) - return 0; - return test_bit(bit, mask); + return test_bit(bit, buffer->scan_mask); }; EXPORT_SYMBOL_GPL(iio_scan_mask_query); -- 1.7.7.3