Merge branch 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6
[pandora-kernel.git] / drivers / usb / gadget / printer.c
index d5df8dd..a341dde 100644 (file)
@@ -794,12 +794,14 @@ printer_write(struct file *fd, const char __user *buf, size_t len, loff_t *ptr)
 }
 
 static int
-printer_fsync(struct file *fd, int datasync)
+printer_fsync(struct file *fd, loff_t start, loff_t end, int datasync)
 {
        struct printer_dev      *dev = fd->private_data;
+       struct inode *inode = fd->f_path.dentry->d_inode;
        unsigned long           flags;
        int                     tx_list_empty;
 
+       mutex_lock(&inode->i_mutex);
        spin_lock_irqsave(&dev->lock, flags);
        tx_list_empty = (likely(list_empty(&dev->tx_reqs)));
        spin_unlock_irqrestore(&dev->lock, flags);
@@ -809,6 +811,7 @@ printer_fsync(struct file *fd, int datasync)
                wait_event_interruptible(dev->tx_flush_wait,
                                (likely(list_empty(&dev->tx_reqs_active))));
        }
+       mutex_unlock(&inode->i_mutex);
 
        return 0;
 }