On 22-08-25 08:21:37, Pawel Laszczak wrote: > ISO OUT endpoint is enabled during queuing first usb request > in transfer ring and disabled when TRBERR is reported by controller. > After TRBERR and before next transfer added to TR driver must again > reenable endpoint but does not. > To solve this issue during processing TRBERR event driver must > set the flag EP_UPDATE_EP_TRBADDR in priv_ep->flags field. > > Fixes: 7733f6c32e36 ("usb: cdns3: Add Cadence USB3 DRD Driver") > cc: <stable@xxxxxxxxxxxxxxx> > Signed-off-by: Pawel Laszczak <pawell@xxxxxxxxxxx> Acked-by: Peter Chen <peter.chen@xxxxxxxxxx> > --- > drivers/usb/cdns3/cdns3-gadget.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/usb/cdns3/cdns3-gadget.c b/drivers/usb/cdns3/cdns3-gadget.c > index 682ceba25765..fa8263951e63 100644 > --- a/drivers/usb/cdns3/cdns3-gadget.c > +++ b/drivers/usb/cdns3/cdns3-gadget.c > @@ -1689,6 +1689,7 @@ static int cdns3_check_ep_interrupt_proceed(struct cdns3_endpoint *priv_ep) > ep_cfg &= ~EP_CFG_ENABLE; > writel(ep_cfg, &priv_dev->regs->ep_cfg); > priv_ep->flags &= ~EP_QUIRK_ISO_OUT_EN; > + priv_ep->flags |= EP_UPDATE_EP_TRBADDR; > } > cdns3_transfer_completed(priv_dev, priv_ep); > } else if (!(priv_ep->flags & EP_STALLED) && > -- > 2.25.1 > -- Thanks, Peter Chen