Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs
[pandora-kernel.git] / drivers / staging / iio / industrialio-core.c
index 2656409..aec9311 100644 (file)
@@ -242,25 +242,24 @@ static const struct file_operations iio_event_chrdev_fileops = {
 
 static int iio_event_getfd(struct iio_dev *indio_dev)
 {
+       struct iio_event_interface *ev_int = indio_dev->event_interface;
        int fd;
 
-       if (indio_dev->event_interface == NULL)
+       if (ev_int == NULL)
                return -ENODEV;
 
-       mutex_lock(&indio_dev->event_interface->event_list_lock);
-       if (test_and_set_bit(IIO_BUSY_BIT_POS,
-                            &indio_dev->event_interface->flags)) {
-               mutex_unlock(&indio_dev->event_interface->event_list_lock);
+       mutex_lock(&ev_int->event_list_lock);
+       if (test_and_set_bit(IIO_BUSY_BIT_POS, &ev_int->flags)) {
+               mutex_unlock(&ev_int->event_list_lock);
                return -EBUSY;
        }
-       mutex_unlock(&indio_dev->event_interface->event_list_lock);
+       mutex_unlock(&ev_int->event_list_lock);
        fd = anon_inode_getfd("iio:event",
-                               &iio_event_chrdev_fileops,
-                               indio_dev->event_interface, O_RDONLY);
+                               &iio_event_chrdev_fileops, ev_int, O_RDONLY);
        if (fd < 0) {
-               mutex_lock(&indio_dev->event_interface->event_list_lock);
+               mutex_lock(&ev_int->event_list_lock);
                clear_bit(IIO_BUSY_BIT_POS, &ev_int->flags);
-               mutex_unlock(&indio_dev->event_interface->event_list_lock);
+               mutex_unlock(&ev_int->event_list_lock);
        }
        return fd;
 }