stm32: usbotg block next bulk_in if buffer not empty

Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
Timofey Titovets authored and Kevin O'Connor committed 2026-03-24 16:30:42 -04:00
1 parent 4db1bf8ac6
commit 2f05309d59
1 file changed
+2 -1
+2 -1
View File
@@ -242,7 +242,8 @@ usb_send_bulk_in(void *data, uint_fast8_t len)
usb_irq_enable();
return len;
}
if (ctl & USB_OTG_DIEPCTL_EPENA) {
int dbuf_busy = CONFIG_STM32_USB_DOUBLE_BUFFER_TX && TX_BUF.len;
if (ctl & USB_OTG_DIEPCTL_EPENA || dbuf_busy) {
if (!CONFIG_STM32_USB_DOUBLE_BUFFER_TX || TX_BUF.len || !len) {
// Wait for space to transmit
OTGD->DAINTMSK |= 1 << USB_CDC_EP_BULK_IN;