summaryrefslogtreecommitdiffstatshomepage
path: root/stmhal/usbdev/class
diff options
context:
space:
mode:
Diffstat (limited to 'stmhal/usbdev/class')
-rw-r--r--stmhal/usbdev/class/src/usbd_cdc_msc_hid.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/stmhal/usbdev/class/src/usbd_cdc_msc_hid.c b/stmhal/usbdev/class/src/usbd_cdc_msc_hid.c
index 913b2ecc10..d136570234 100644
--- a/stmhal/usbdev/class/src/usbd_cdc_msc_hid.c
+++ b/stmhal/usbdev/class/src/usbd_cdc_msc_hid.c
@@ -1069,7 +1069,10 @@ uint8_t USBD_HID_ReceivePacket(USBD_HandleTypeDef *pdev) {
}
// Prepare Out endpoint to receive next packet
- USBD_LL_PrepareReceive(pdev, hid_out_ep, HID_ClassData.RxBuffer, HID_DATA_FS_MAX_PACKET_SIZE);
+ uint16_t mps_out =
+ hid_desc[HID_DESC_OFFSET_MAX_PACKET_OUT_LO]
+ | (hid_desc[HID_DESC_OFFSET_MAX_PACKET_OUT_HI] << 8);
+ USBD_LL_PrepareReceive(pdev, hid_out_ep, HID_ClassData.RxBuffer, mps_out);
return USBD_OK;
}