diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2013-06-17 06:05:35 (GMT) |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2013-06-29 08:57:33 (GMT) |
commit | ee32465249bee53714c0ca7be38da83008f9f8a6 (patch) | |
tree | 5009c6c2801e319b0fbc1c64e620ae66147f6f6f /drivers/char/ps3flash.c | |
parent | 05c8aaa960f1c62edaba968f762c195bc9b251dd (diff) | |
download | linux-ee32465249bee53714c0ca7be38da83008f9f8a6.tar.xz |
ps3flash: switch to generic_file_llseek_size()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'drivers/char/ps3flash.c')
-rw-r--r-- | drivers/char/ps3flash.c | 28 |
1 files changed, 2 insertions, 26 deletions
diff --git a/drivers/char/ps3flash.c b/drivers/char/ps3flash.c index 8cafa9c..0b311fa 100644 --- a/drivers/char/ps3flash.c +++ b/drivers/char/ps3flash.c @@ -98,32 +98,8 @@ static int ps3flash_fetch(struct ps3_storage_device *dev, u64 start_sector) static loff_t ps3flash_llseek(struct file *file, loff_t offset, int origin) { struct ps3_storage_device *dev = ps3flash_dev; - loff_t res; - - mutex_lock(&file->f_mapping->host->i_mutex); - switch (origin) { - case 0: - break; - case 1: - offset += file->f_pos; - break; - case 2: - offset += dev->regions[dev->region_idx].size*dev->blk_size; - break; - default: - offset = -1; - } - if (offset < 0) { - res = -EINVAL; - goto out; - } - - file->f_pos = offset; - res = file->f_pos; - -out: - mutex_unlock(&file->f_mapping->host->i_mutex); - return res; + return generic_file_llseek_size(file, offset, origin, MAX_LFS_FILESIZE, + dev->regions[dev->region_idx].size*dev->blk_size); } static ssize_t ps3flash_read(char __user *userbuf, void *kernelbuf, |