usb: dwc2: Set actual frame number for completed ISOC transfer for none DDMA
authorMinas Harutyunyan <Minas.Harutyunyan@synopsys.com>
Mon, 29 Apr 2019 11:23:43 +0000 (15:23 +0400)
committerFelipe Balbi <felipe.balbi@linux.intel.com>
Thu, 6 Jun 2019 10:51:57 +0000 (13:51 +0300)
On ISOC OUT transfer completion, in none DDMA mode, set actual frame
number returning to function driver in usb_request.

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

index 16ffd9f..1d4aef8 100644 (file)
@@ -2417,6 +2417,10 @@ static void dwc2_hsotg_handle_outdone(struct dwc2_hsotg *hsotg, int epnum)
                        dwc2_gadget_incr_frame_num(hs_ep);
        }
 
+       /* Set actual frame number for completed transfers */
+       if (!using_desc_dma(hsotg) && hs_ep->isochronous)
+               req->frame_number = hsotg->frame_number;
+
        dwc2_hsotg_complete_request(hsotg, hs_ep, hs_req, result);
 }