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. -- balbi
Attachment:
signature.asc
Description: PGP signature