greybus: es1: move debugfs function to use kstrotoint_from_user()

No need to duplicate built-in functions that the kernel has, so have the
core kernel parse the userspace string.  Saves us an allocation and
makes the logic simpler.

Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
This commit is contained in:
Greg Kroah-Hartman 2015-03-24 20:32:40 +01:00
parent d52f9973e2
commit 64b8a16f44

View File

@ -581,20 +581,19 @@ static ssize_t apb1_log_enable_write(struct file *f, const char __user *buf,
size_t count, loff_t *ppos)
{
int enable;
char *tmp_buf;
ssize_t retval = -EINVAL;
ssize_t retval;
struct es1_ap_dev *es1 = (struct es1_ap_dev *)f->f_inode->i_private;
tmp_buf = kmalloc(count, GFP_KERNEL);
if (!tmp_buf)
return -ENOMEM;
retval = kstrtoint_from_user(buf, count, 10, &enable);
if (retval)
return retval;
copy_from_user(tmp_buf, buf, count);
if (sscanf(tmp_buf, "%d", &enable) == 1) {
if (enable) {
usb_log_enable(es1, enable);
retval = count;
} else {
retval = -EINVAL;
}
kfree(tmp_buf);
return retval;
}