]> Pileus Git - ~andy/linux/commitdiff
pci/proc: switch to fixed_size_llseek()
authorAl Viro <viro@zeniv.linux.org.uk>
Sun, 23 Jun 2013 08:29:00 +0000 (12:29 +0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Sat, 29 Jun 2013 08:57:48 +0000 (12:57 +0400)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
drivers/pci/proc.c

index 08126087ec3125c29de84c5b9e5f68d45d2b0328..cdc7836d7e3de3ab710341b3feef63c1ff3b3a47 100644 (file)
@@ -20,27 +20,8 @@ static int proc_initialized; /* = 0 */
 static loff_t
 proc_bus_pci_lseek(struct file *file, loff_t off, int whence)
 {
-       loff_t new = -1;
-       struct inode *inode = file_inode(file);
-
-       mutex_lock(&inode->i_mutex);
-       switch (whence) {
-       case 0:
-               new = off;
-               break;
-       case 1:
-               new = file->f_pos + off;
-               break;
-       case 2:
-               new = inode->i_size + off;
-               break;
-       }
-       if (new < 0 || new > inode->i_size)
-               new = -EINVAL;
-       else
-               file->f_pos = new;
-       mutex_unlock(&inode->i_mutex);
-       return new;
+       struct pci_dev *dev = PDE_DATA(file_inode(file));
+       return fixed_size_llseek(file, off, whence, dev->cfg_size);
 }
 
 static ssize_t