#3931·tinyusb

Aborting DWC2 Host Controller Fails to Suppress Transfer Complete Interrupts while in Slave mode

Author: AnthonyV-modretroCreated Sep 17, 2026Updated Sep 17, 2026
LabelsBug 🐞

Operating System

Others

Commit SHA

7b787daa2ae461d7fdd01a6367be51e0e025b5db

Board

Custom Board with STM32H7A

Firmware

Custom Firmware Running TinyUSB in Host Mode with Threadx. TinyUSB is compiled with the OS set to Threadx.

What happened ?

Our system is running in USB Host Mode. It is running at USB High Speed with a USB video device connected to our board. On the board, there is a USB Hub chip that goes to a High Speed USB Phy chip and then into the STM32H7A. We were streaming data from device to Host and vice versa. While running video (we were doing raw transfers), we wanted to stop the stream and abort any currently pending transfers. We called hcd_edpt_abort_xfer with the STM32H7A running the DWC2 core in slave mode and not in DMA mode.

I have not verified this myself, but a coworker has reported that occasionally on abort, we see the hcd_event_xfer_complete callback called for the aborted transfer. I was under the impression that tinyusb suppresses these callbacks on abort. I wanted to bring this up in case it is a real issue.

How to reproduce ?

  1. Perform a large amount of transfers from a device to the host STM32H7A board running at USB High Speed in DWC2 slave mode
  2. Perform an abort on the host side (This should occasionally cause the issue)

Debug Log as txt file (LOG/CFG_TUSB_DEBUG=2)

N/A. I was not able to witness this myself

Screenshots

No response

I have checked existing issues, discussion and documentation

  • I confirm I have checked existing issues, discussion and documentation.