summaryrefslogtreecommitdiffstatshomepage
path: root/stmhal/usbdev/class/src
diff options
context:
space:
mode:
authorPavol Rusnak <stick@gk2.sk>2016-09-22 22:03:46 +0200
committerDamien George <damien.p.george@gmail.com>2016-10-04 15:39:31 +1100
commit99d62c4def5f62af66cf66b3e620de21f017db29 (patch)
tree0a95c7bc0fb1934cc937cd048542de7875b9c2ca /stmhal/usbdev/class/src
parent8f3cf6e6a873e7c14781200a23efa733c95bc510 (diff)
downloadmicropython-99d62c4def5f62af66cf66b3e620de21f017db29.tar.gz
micropython-99d62c4def5f62af66cf66b3e620de21f017db29.zip
stmhal/usb: Use real packet size (not maximum) in HID receive.
Diffstat (limited to 'stmhal/usbdev/class/src')
-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;
}