pci/proc: switch to fixed_size_llseek()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
c09ed2a6fa
commit
54de90d686
1 changed files with 2 additions and 21 deletions
|
@ -20,27 +20,8 @@ static int proc_initialized; /* = 0 */
|
||||||
static loff_t
|
static loff_t
|
||||||
proc_bus_pci_lseek(struct file *file, loff_t off, int whence)
|
proc_bus_pci_lseek(struct file *file, loff_t off, int whence)
|
||||||
{
|
{
|
||||||
loff_t new = -1;
|
struct pci_dev *dev = PDE_DATA(file_inode(file));
|
||||||
struct inode *inode = file_inode(file);
|
return fixed_size_llseek(file, off, whence, dev->cfg_size);
|
||||||
|
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static ssize_t
|
static ssize_t
|
||||||
|
|
Loading…
Add table
Reference in a new issue