This is an automated email from the ASF dual-hosted git repository.

raiden00 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git

commit 324402ed3029a7b8b2a6d944699a9eaad58c6b1d
Author: sunkun3 <[email protected]>
AuthorDate: Tue May 30 20:00:10 2023 +0800

    usbdev-composite: fix enumeration error for 192 bytes desc
    
    when the size of the usb configuration descriptor
    is a multiple of 64 integers, only for this size less than wlength,
    host do need send ZLP
    
    Signed-off-by: sunkun3 <[email protected]>
---
 drivers/usbdev/composite.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/usbdev/composite.c b/drivers/usbdev/composite.c
index b3795b5c2b..463282b419 100644
--- a/drivers/usbdev/composite.c
+++ b/drivers/usbdev/composite.c
@@ -680,7 +680,12 @@ static int composite_setup(FAR struct usbdevclass_driver_s 
*driver,
       /* Setup the request */
 
       ctrlreq->len   = MIN(len, ret);
-      ctrlreq->flags = USBDEV_REQFLAGS_NULLPKT;
+
+      /* Only when ret is less than len do zero length packet
+       * need to be sent
+       */
+
+      ctrlreq->flags = ret < len ? USBDEV_REQFLAGS_NULLPKT : 0;
 
       /* And submit the request to the USB controller driver */
 

Reply via email to