It could be that the delay help to wait the usb link establishement.
In that case I would exepect the delay should be added before the usb_get_device_descriptor() function.
It could be that the...