OSDN Git Service

usb: gadget: f_cdev: Send zero length packets in modem data calls
authorPratham Pratap <prathampratap@codeaurora.org>
Mon, 4 Jun 2018 04:48:25 +0000 (10:18 +0530)
committerGerrit - the friendly Code Review server <code-review@localhost>
Wed, 13 Jun 2018 09:02:42 +0000 (02:02 -0700)
The USB protocol requires zero length packets to be sent when the data
transmission ends on a USB packet size boundary. This fix enables sending
zero length packets when required.

Change-Id: I0269ec7ff25c82000f2a5bc4adb449bc0231c66c
Signed-off-by: Pratham Pratap <prathampratap@codeaurora.org>
drivers/usb/gadget/function/f_cdev.c

index 34ec15a..233221f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2013-2017, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2011, 2013-2018, The Linux Foundation. All rights reserved.
  * Linux Foundation chooses to take subject only to the GPLv2 license terms,
  * and distributes only under these terms.
  *
@@ -1251,6 +1251,7 @@ ssize_t f_cdev_write(struct file *file,
                ret = -EFAULT;
        } else {
                req->length = xfer_size;
+               req->zero = 1;
                ret = usb_ep_queue(in, req, GFP_KERNEL);
                if (ret) {
                        pr_err("EP QUEUE failed:%d\n", ret);