mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 12:17:12 +09:00
USB: gadget: f_mtp: Return zero result for successful file transfer.
Returning number of bytes transfered does not work for files > 2 gig since ioctl() result is a signed integer. Signed-off-by: Mike Lockwood <lockwood@android.com>
This commit is contained in:
committed by
Colin Cross
parent
491d4186e0
commit
76ac655018
@@ -621,15 +621,16 @@ static void send_file_work(struct work_struct *data) {
|
||||
struct file *filp;
|
||||
loff_t offset;
|
||||
size_t count;
|
||||
int r, xfer, ret;
|
||||
int xfer, ret;
|
||||
int r = 0;
|
||||
|
||||
/* read our parameters */
|
||||
smp_rmb();
|
||||
filp = dev->xfer_file;
|
||||
offset = dev->xfer_file_offset;
|
||||
r = count = dev->xfer_file_length;
|
||||
count = dev->xfer_file_length;
|
||||
|
||||
DBG(cdev, "send_file_work(%lld %d)\n", offset, count);
|
||||
DBG(cdev, "send_file_work(%lld %u)\n", offset, count);
|
||||
|
||||
while (count > 0) {
|
||||
/* get an idle tx request to use */
|
||||
@@ -686,15 +687,16 @@ static void receive_file_work(struct work_struct *data)
|
||||
struct file *filp;
|
||||
loff_t offset;
|
||||
size_t count;
|
||||
int r, ret, cur_buf = 0;
|
||||
int ret, cur_buf = 0;
|
||||
int r = 0;
|
||||
|
||||
/* read our parameters */
|
||||
smp_rmb();
|
||||
filp = dev->xfer_file;
|
||||
offset = dev->xfer_file_offset;
|
||||
r = count = dev->xfer_file_length;
|
||||
count = dev->xfer_file_length;
|
||||
|
||||
DBG(cdev, "receive_file_work(%d)\n", count);
|
||||
DBG(cdev, "receive_file_work(%u)\n", count);
|
||||
|
||||
while (count > 0 || write_req) {
|
||||
if (count > 0) {
|
||||
|
||||
Reference in New Issue
Block a user