USB: gadget: f_mtp: Fix using tx buffer pointer
commit "2537d56f790114dab504b93ed754492f86878b4a" added module
parameter for Tx buffer length which can be changed during runtime.
That commit didn't update tx buffer pointer whereever required due
to which driver is queueing Tx data in chunks of 16Kbytes length
even though buffer length allocated is greater than 16KB. Hence fix
tx buffer pointer usage so that data will be read from file system
in chunks of > 16KB.
Change-Id: I1f3f9313e7c875942668f570a611bdc8ce4e91f6
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
diff --git a/drivers/usb/gadget/f_mtp.c b/drivers/usb/gadget/f_mtp.c
index 37189d8..4586d80 100644
--- a/drivers/usb/gadget/f_mtp.c
+++ b/drivers/usb/gadget/f_mtp.c
@@ -696,8 +696,8 @@
break;
}
- if (count > MTP_BULK_BUFFER_SIZE)
- xfer = MTP_BULK_BUFFER_SIZE;
+ if (count > mtp_tx_req_len)
+ xfer = mtp_tx_req_len;
else
xfer = count;
if (xfer && copy_from_user(req->buf, buf, xfer)) {
@@ -789,8 +789,8 @@
break;
}
- if (count > MTP_BULK_BUFFER_SIZE)
- xfer = MTP_BULK_BUFFER_SIZE;
+ if (count > mtp_tx_req_len)
+ xfer = mtp_tx_req_len;
else
xfer = count;