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 */
