summaryrefslogtreecommitdiffstats
path: root/drivers/pci/proc.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2013-06-23 12:29:00 +0400
committerAl Viro <viro@zeniv.linux.org.uk>2013-06-29 12:57:48 +0400
commit54de90d686eacd4a761f7ce65c54f1eb3a159429 (patch)
tree794d1fea72b45d89bca88fbe9a14a6f1f5b2f97f /drivers/pci/proc.c
parentc09ed2a6fafe0d4e506b9f2c36a47cf187509885 (diff)
downloadlinux-54de90d686eacd4a761f7ce65c54f1eb3a159429.tar.gz
linux-54de90d686eacd4a761f7ce65c54f1eb3a159429.tar.bz2
linux-54de90d686eacd4a761f7ce65c54f1eb3a159429.zip
pci/proc: switch to fixed_size_llseek()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'drivers/pci/proc.c')
-rw-r--r--drivers/pci/proc.c23
1 files changed, 2 insertions, 21 deletions
diff --git a/drivers/pci/proc.c b/drivers/pci/proc.c
index 08126087ec31..cdc7836d7e3d 100644
--- a/drivers/pci/proc.c
+++ b/drivers/pci/proc.c
@@ -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