summaryrefslogtreecommitdiff
path: root/drivers/usb/gadget/function
diff options
context:
space:
mode:
authorVijayavardhan Vennapusa <vvreddy@codeaurora.org>2016-01-28 11:48:44 -0800
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-22 11:10:04 -0700
commit9d89a6599da09d4289e69f29c96a37e4aa8dece1 (patch)
treee651889d08c9c17d31c2fbc030de6eac89324065 /drivers/usb/gadget/function
parent32abf3b67f7f57e792382e68bb6a79c1ec062fd8 (diff)
USB: f_fs: Add print message in case of error scenario
Add print message in case of error scenarios which will be useful for debugging adb offline issues. Change-Id: I75bc136eab05151abb187c1fa1e5956b6f507297 Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org> Signed-off-by: Mayank Rana <mrana@codeaurora.org>
Diffstat (limited to 'drivers/usb/gadget/function')
-rw-r--r--drivers/usb/gadget/function/f_fs.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/drivers/usb/gadget/function/f_fs.c b/drivers/usb/gadget/function/f_fs.c
index 2be964e26279..5032aae7e6e3 100644
--- a/drivers/usb/gadget/function/f_fs.c
+++ b/drivers/usb/gadget/function/f_fs.c
@@ -889,9 +889,20 @@ static ssize_t ffs_epfile_io(struct file *file, struct ffs_io_data *io_data)
ret = -ENODEV;
spin_unlock_irq(&epfile->ffs->eps_lock);
if (io_data->read && ret > 0) {
- ret = copy_to_iter(data, ret, &io_data->data);
- if (!ret)
- ret = -EFAULT;
+
+ if (ret > data_len) {
+ ret = -EOVERFLOW;
+ pr_err("More data(%zd) received than intended length(%zu)\n",
+ ret, data_len);
+
+ } else {
+ ret = copy_to_iter(data, ret, &io_data->data);
+ pr_debug("copied (%zd) bytes to user space\n", ret);
+ if (!ret) {
+ pr_err("Fail to copy to user\n");
+ ret = -EFAULT;
+ }
+ }
}
}
kfree(data);