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:
Mike Lockwood
2010-11-15 15:22:21 -05:00
committed by Colin Cross
parent 491d4186e0
commit 76ac655018

View File

@@ -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) {