diff --git a/components/drivers/usb/usbdevice/core/core.c b/components/drivers/usb/usbdevice/core/core.c index ea4efde2d78c3203653ac13f99791a012c506676..9f1738ed33d83ef85811943f89dd9391fbc057fb 100644 --- a/components/drivers/usb/usbdevice/core/core.c +++ b/components/drivers/usb/usbdevice/core/core.c @@ -124,7 +124,7 @@ static rt_err_t _get_string_descriptor(struct udevice* device, ureq_t setup) } } - if(setup->length == 0xFF) + if(setup->length > len) len = str_desc.bLength; else len = setup->length;