Our target is designed to accept a USB stick and mount it as a file system. That works just fine.
One of our testers decided to see what would happen if a large external USB-powered Hard disk was connected.
This caused the low-level USB driver to lock up and the unit needed to be rebooted in order to recover.
My guess is that the current limiting on the USB-A port did not allow the external Hard Drive to spin up, thus sending the USB driver into an infinite wait.
Our USB-A port is current limited per USB 1.1
This is the information of the external Hard Drive used to produce this behavior:
Seagate - FreeAgent Go - 1TB
PN: 9KW2AL-502