aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/iio/adc/ad7923.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/iio/adc/ad7923.c')
-rw-r--r--drivers/iio/adc/ad7923.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/iio/adc/ad7923.c b/drivers/iio/adc/ad7923.c
index 45e29ccd824f..ff444c19d749 100644
--- a/drivers/iio/adc/ad7923.c
+++ b/drivers/iio/adc/ad7923.c
@@ -233,12 +233,11 @@ static int ad7923_read_raw(struct iio_dev *indio_dev,
233 233
234 switch (m) { 234 switch (m) {
235 case IIO_CHAN_INFO_RAW: 235 case IIO_CHAN_INFO_RAW:
236 mutex_lock(&indio_dev->mlock); 236 ret = iio_device_claim_direct_mode(indio_dev);
237 if (iio_buffer_enabled(indio_dev)) 237 if (ret)
238 ret = -EBUSY; 238 return ret;
239 else 239 ret = ad7923_scan_direct(st, chan->address);
240 ret = ad7923_scan_direct(st, chan->address); 240 iio_device_release_direct_mode(indio_dev);
241 mutex_unlock(&indio_dev->mlock);
242 241
243 if (ret < 0) 242 if (ret < 0)
244 return ret; 243 return ret;