USB: dwc3: ep0: Fix set configuration issue for USB enumeration
When Host sends set config request, composite layer enables
mass storage driver for which mass storage driver sends delayed
status to DCD. There is a possiblity that massstorage driver
queues status phase on control IN endpoint before delayed status
returned to DCD.
Due to this, TRB will be added to TRB queue instead of actually
queued to HW. Since delayed status is set, TRB will not be queued
to USB when recieved xfernotready interrupt. This leads to USB
enumeration failure. Fix this issue by queueing the TRB if request
queue of endpoint zero is not empty in xfernotready interrupt
handler.
Change-Id: Ia43068e7c94895bf1c29c78f2fab2f04069f8523
Signed-off-by:
Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
Loading
Please register or sign in to comment