The introduction of the double buffering broke USB flow control, causing loss of data when a new packet arrived with the previous still present in the double buffer. With this patch the endpoint is kept in NAK until the double buffer is empty.