usb: dwc2: gadget: fix packet drop issue for ISOC OUT transfers
authorMinas Harutyunyan <Minas.Harutyunyan@synopsys.com>
Tue, 12 Jun 2018 08:27:36 +0000 (12:27 +0400)
committerFelipe Balbi <felipe.balbi@linux.intel.com>
Mon, 18 Jun 2018 09:41:01 +0000 (12:41 +0300)
In ISOC OUT transfer, when the OUT token received while EP disabled,
we shouldn't complete a usb request. The current flow completed one
usb request, this will lead to a packet drop to function driver.

Signed-off-by: Minas Harutyunyan <hminas@synopsys.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
drivers/usb/dwc2/gadget.c

index bb5eb3c8132df97ba1033a7097db2fc8c7e47fa6..fa3b6f3610748ee9122de0dd4db6d578932b95cc 100644 (file)
@@ -2756,8 +2756,6 @@ static void dwc2_gadget_handle_out_token_ep_disabled(struct dwc2_hsotg_ep *ep)
         */
        tmp = dwc2_hsotg_read_frameno(hsotg);
 
-       dwc2_hsotg_complete_request(hsotg, ep, get_ep_head(ep), 0);
-
        if (using_desc_dma(hsotg)) {
                if (ep->target_frame == TARGET_FRAME_INITIAL) {
                        /* Start first ISO Out */