Hi, Thinh Nguyen <thinh.nguyen@xxxxxxxxxxxx> writes: > Report the scheduled frame number of an isochronous request. > > Signed-off-by: Thinh Nguyen <thinhn@xxxxxxxxxxxx> > --- > 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..34540b661592 100644 > --- a/drivers/usb/dwc3/gadget.c > +++ b/drivers/usb/dwc3/gadget.c > @@ -2254,6 +2254,10 @@ static int dwc3_gadget_ep_reclaim_completed_trb(struct dwc3_ep *dep, > if (chain && (trb->ctrl & DWC3_TRB_CTRL_HWO)) > trb->ctrl &= ~DWC3_TRB_CTRL_HWO; > > + /* Report scheduled frame number for isoc transfers */ > + if (usb_endpoint_xfer_isoc(dep->endpoint.desc)) > + req->request.start_frame = dep->frame_number; This doesn't work. It'll work fine for the very first TRB. But since we use Update Transfer to add more intervals, I can see that this could lead to wrong frame numbers being reported, no? -- balbi
Attachment:
signature.asc
Description: PGP signature