usb: dwc3: Fix handling of ISOC start transfer
A transfer on an isochronous endpoint needs special handling if it was queued after the interval has expired. This case is checked by testing bit 13 when a START TRANSFER command fails, and returning -EAGAIN to indicate to the caller to end the transfer and try again on the next interval. However, the test itself is obscured because the function will simply return -EINVAL if any of bits 15:12 are set. Fix this by correctly reordering the checks. This was caused by an incorrect merge conflict resolution between commit 561ba0fe ("usb: dwc3: gadget: return error if command sent to DEPCMD register fails") and commit ef1891fa ("USB: dwc3: Fix issues in isochronous endpoint handling"). Change-Id: Id1ec2c030efb94bac435172d7f030e68c7e10535 Signed-off-by:Jack Pham <jackp@codeaurora.org>
Loading
Please register or sign in to comment