OSDN Git Service

staging: iio: accel: adis16201: remove iio_dev mlock
authorAishwarya Pant <aishpant@gmail.com>
Fri, 17 Mar 2017 21:43:56 +0000 (03:13 +0530)
committerJonathan Cameron <jic23@kernel.org>
Sun, 19 Mar 2017 10:18:34 +0000 (10:18 +0000)
In the driver adis16201 read raw does not require an iio_dev->mlock for
reads. It can run concurrently as adis_read_reg_16() is protected by a
transaction lock.

Signed-off-by: Aishwarya Pant <aishpant@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/staging/iio/accel/adis16201.c

index 7565268..fbc2406 100644 (file)
@@ -223,17 +223,13 @@ static int adis16201_read_raw(struct iio_dev *indio_dev,
                default:
                        return -EINVAL;
                }
-               mutex_lock(&indio_dev->mlock);
                addr = adis16201_addresses[chan->scan_index];
                ret = adis_read_reg_16(st, addr, &val16);
-               if (ret) {
-                       mutex_unlock(&indio_dev->mlock);
+               if (ret)
                        return ret;
-               }
                val16 &= (1 << bits) - 1;
                val16 = (s16)(val16 << (16 - bits)) >> (16 - bits);
                *val = val16;
-               mutex_unlock(&indio_dev->mlock);
                return IIO_VAL_INT;
        }
        return -EINVAL;