Hi, On 11/7/2018 11:08 PM, Felipe Balbi wrote: > Hi, > > Thinh Nguyen <thinh.nguyen@xxxxxxxxxxxx> writes: >> Report the scheduled frame number of an isochronous request. >> >> Signed-off-by: Thinh Nguyen <thinhn@xxxxxxxxxxxx> >> --- >> Change in v2: >> - Capture frame number at request cleanup >> >> drivers/usb/dwc3/gadget.c | 4 ++++ >> 1 file changed, 4 insertions(+) >> >> diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c >> index 679c12e14522..5e5e799699de 100644 >> --- a/drivers/usb/dwc3/gadget.c >> +++ b/drivers/usb/dwc3/gadget.c >> @@ -2345,6 +2345,10 @@ static int dwc3_gadget_ep_cleanup_completed_request(struct dwc3_ep *dep, >> >> req->request.actual = req->request.length - req->remaining; >> >> + /* Report scheduled frame number for isoc transfers */ >> + if (usb_endpoint_xfer_isoc(dep->endpoint.desc)) >> + req->request.start_frame = dep->frame_number; > yeah, this is really wrong. Since you're setting start_frame when > cleaning up the request, this means that dep->frame_number was already > updated due to XferComplete/XferInProgress. This means thart start_frame > will report frame number of completion event, not start. So your > debugging will be misleading. > You're right. I'll make the fix. Thinh