Messages in this thread | | | From | Felipe Balbi <> | Subject | Re: [PATCH] usb: dwc3: gadget:Core consumes a trb software to fill a trb, in ISO | Date | Fri, 22 Dec 2017 09:54:02 +0200 |
| |
Hi,
Lipengcheng <lpc.li@hisilicon.com> writes:
> Iso transmission, the current process is that all trb(HWO=1) is handled. > Then core generate DWC3_DEPEVT_XFERNOTREADY event, Software begin refill > trb, this will produce 0 length package, the patch is to achieve the core > consumes a trb, and then the software fill a trb. Normally, there will never > be DWC3_DEPEVT_XFERNOTREADY event and 0-length packet. > > Signed-off-by: l00229106 <lpc.li@hisilicon.com>
who is 100229106??
> --- > drivers/usb/dwc3/gadget.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c > index 981fd98..1e6c42e 100644 > --- a/drivers/usb/dwc3/gadget.c > +++ b/drivers/usb/dwc3/gadget.c > @@ -2420,7 +2420,7 @@ static void dwc3_endpoint_transfer_complete(struct dwc3 *dwc, > if (!dep->endpoint.desc) > return; > > - if (!usb_endpoint_xfer_isoc(dep->endpoint.desc)) > + if (!usb_endpoint_xfer_isoc(dep->endpoint.desc) || (dep->flags & DWC3_EP_TRANSFER_STARTED))
this is wrong. isoc endpoints should NEVER be prestarted.
-- balbi
| |