Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ps3flash: switch to generic_file_llseek_size()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

Al Viro ee324652 05c8aaa9

+2 -26
+2 -26
drivers/char/ps3flash.c
··· 98 98 static loff_t ps3flash_llseek(struct file *file, loff_t offset, int origin) 99 99 { 100 100 struct ps3_storage_device *dev = ps3flash_dev; 101 - loff_t res; 102 - 103 - mutex_lock(&file->f_mapping->host->i_mutex); 104 - switch (origin) { 105 - case 0: 106 - break; 107 - case 1: 108 - offset += file->f_pos; 109 - break; 110 - case 2: 111 - offset += dev->regions[dev->region_idx].size*dev->blk_size; 112 - break; 113 - default: 114 - offset = -1; 115 - } 116 - if (offset < 0) { 117 - res = -EINVAL; 118 - goto out; 119 - } 120 - 121 - file->f_pos = offset; 122 - res = file->f_pos; 123 - 124 - out: 125 - mutex_unlock(&file->f_mapping->host->i_mutex); 126 - return res; 101 + return generic_file_llseek_size(file, offset, origin, MAX_LFS_FILESIZE, 102 + dev->regions[dev->region_idx].size*dev->blk_size); 127 103 } 128 104 129 105 static ssize_t ps3flash_read(char __user *userbuf, void *kernelbuf,