]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/iio/industrialio-core.c
iio: fix: Keep a reference to the IIO device for open file descriptors
[karo-tx-linux.git] / drivers / iio / industrialio-core.c
index 2cc0778a73288b9003178b9b4c050a13ad355d04..8f7b6c9f92dc2d67211ee1a451d36443f956de2f 100644 (file)
@@ -970,6 +970,8 @@ static int iio_chrdev_open(struct inode *inode, struct file *filp)
        if (test_and_set_bit(IIO_BUSY_BIT_POS, &indio_dev->flags))
                return -EBUSY;
 
+       iio_device_get(indio_dev);
+
        filp->private_data = indio_dev;
 
        return 0;
@@ -983,6 +985,8 @@ static int iio_chrdev_release(struct inode *inode, struct file *filp)
        struct iio_dev *indio_dev = container_of(inode->i_cdev,
                                                struct iio_dev, chrdev);
        clear_bit(IIO_BUSY_BIT_POS, &indio_dev->flags);
+       iio_device_put(indio_dev);
+
        return 0;
 }