Missing transfer complete interrupt partway through USB Host transfer
Transfer operates successfully for approximately 300ms before abruptly stopping. USB interrupt can be seen on the attached capture operating normally in the first transfer. On the failing transfer no interrupt can be seen. The next interrupt that occurs is SOF but the previous transfer has long since failed and the bus is locked up repeating the same data continuously forever.
At this point in time the USB software stack is stuck in this while loop waiting for the interrupt to mark the URB state as complete (usbh_msc.c):
while (USBH_MSC_RdWrProcess(phost, lun) == USBH_BUSY)
{
if (((phost->Timer - timeout) > (10000U * length)) || (phost->device.is_connected == 0U))
{
MSC_Handle->state = MSC_IDLE;
return USBH_FAIL;
}
}STM32F7, ST's USB Host library, MSC class, FatFS, FreeRTOS.
Any help you can provide is greatly appreciated!
