Aborting DWC2 Host Controller Fails to Suppress Transfer Complete Interrupts while in Slave mode
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 ?
- Perform a large amount of transfers from a device to the host STM32H7A board running at USB High Speed in DWC2 slave mode
- 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.
Source: hathach/tinyusb