• F
    usb: dwc3: gadget: fix 'endpoint always busy' bug · 041d81f4
    Felipe Balbi 提交于
    If a USB transfer has already been started, meaning
    we have already issued StartTransfer command to that
    particular endpoint, DWC3_EP_BUSY flag has also
    already been set.
    
    When we try to cancel this transfer which is already
    in controller's cache, we will not receive XferComplete
    event and we must clear DWC3_EP_BUSY in order to allow
    subsequent requests to be properly started.
    
    The best place to clear that flag is right after issuing
    DWC3_DEPCMD_ENDTRANSFER.
    
    Cc: stable@vger.kernel.org # v3.4 v3.5 v3.6
    Reported-by: NMoiz Sonasath <m-sonasath@ti.com>
    Signed-off-by: NFelipe Balbi <balbi@ti.com>
    041d81f4
gadget.c 62.1 KB