Hi, Peter Chen <peter.chen@xxxxxxx> writes: > For sg buffer list use case, we need to add ISP for each TRB, and > add CHAIN bit for each TRB except for the last TRB. > > Signed-off-by: Peter Chen <peter.chen@xxxxxxx> > --- > drivers/usb/cdns3/gadget.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/drivers/usb/cdns3/gadget.c b/drivers/usb/cdns3/gadget.c > index 25e3ff1cdf61..a308a694abc5 100644 > --- a/drivers/usb/cdns3/gadget.c > +++ b/drivers/usb/cdns3/gadget.c > @@ -1221,8 +1221,14 @@ static int cdns3_ep_run_transfer(struct cdns3_endpoint *priv_ep, > else > priv_req->trb->control = cpu_to_le32(control); > > - if (sg_supported) > + if (sg_supported) { > + trb->control |= TRB_ISP; > + /* Don't set chain bit for last TRB */ > + if (sg_iter < num_trb - 1) > + trb->control |= TRB_CHAIN; > + > s = sg_next(s); > + } is this a bugfix? -- balbi
Attachment:
signature.asc
Description: PGP signature