Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ee324652 authored by Al Viro's avatar Al Viro
Browse files

ps3flash: switch to generic_file_llseek_size()



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 05c8aaa9
Loading
Loading
Loading
Loading
+2 −26
Original line number Original line Diff line number Diff line
@@ -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)
static loff_t ps3flash_llseek(struct file *file, loff_t offset, int origin)
{
{
	struct ps3_storage_device *dev = ps3flash_dev;
	struct ps3_storage_device *dev = ps3flash_dev;
	loff_t res;
	return generic_file_llseek_size(file, offset, origin, MAX_LFS_FILESIZE,

			dev->regions[dev->region_idx].size*dev->blk_size);
	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;
}
}


static ssize_t ps3flash_read(char __user *userbuf, void *kernelbuf,
static ssize_t ps3flash_read(char __user *userbuf, void *kernelbuf,