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

Commit 6ee8928d authored by Akinobu Mita's avatar Akinobu Mita Committed by Linus Torvalds
Browse files

nwflash: use simple_read_from_buffer()



Signed-off-by: default avatarAkinobu Mita <akinobu.mita@gmail.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Tim Schmielau <tim@physik3.uni-rostock.de>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 236b8756
Loading
Loading
Loading
Loading
+8 −23
Original line number Diff line number Diff line
@@ -122,35 +122,20 @@ static int flash_ioctl(struct inode *inodep, struct file *filep, unsigned int cm
static ssize_t flash_read(struct file *file, char __user *buf, size_t size,
			  loff_t *ppos)
{
	unsigned long p = *ppos;
	unsigned int count = size;
	int ret = 0;
	ssize_t ret;

	if (flashdebug)
		printk(KERN_DEBUG "flash_read: flash_read: offset=0x%lX, "
		       "buffer=%p, count=0x%X.\n", p, buf, count);

	if (count)
		ret = -ENXIO;

	if (p < gbFlashSize) {
		if (count > gbFlashSize - p)
			count = gbFlashSize - p;

	/*
	 * We now lock against reads and writes. --rmk
	 */
	if (mutex_lock_interruptible(&nwflash_mutex))
		return -ERESTARTSYS;

		ret = copy_to_user(buf, (void *)(FLASH_BASE + p), count);
		if (ret == 0) {
			ret = count;
			*ppos += count;
		} else
			ret = -EFAULT;
	ret = simple_read_from_buffer(buf, size, ppos, FLASH_BASE, gbFlashSize);
	mutex_unlock(&nwflash_mutex);
	}

	return ret;
}