I've got a HS USB HID device set up to run on a STM32F405 microcontroller. It gets most of the way through enumeration fine, but when the host sends a Get Report Descriptor, the device fails to respond with the descriptor and the request times out. I was able to single step and verify that the device sees the request, and even appears to send the report on the device side, but the host does not get it. I have verified the correct report location is being used, and that the report is actually present at this location. The length is correct, and the request is correct, but nothing gets back to the host.
What is even stranger is this exact same code runs on a different processor (STM32F427) without any difficulties.
If anyone had any thought, it would be appreciated.