Messages in this thread | ![/](/images/icornerl.gif) | | Subject | Re: [PATCH] usb: dwc3: gadget: fix miss isoc issue introduced by IRQ latency | From | Sergei Shtylyov <> | Date | Fri, 14 Dec 2018 14:17:47 +0300 |
| |
Hello!
On 12/14/2018 07:32 PM, Zeng Tao wrote:
> If it's a busy system, some times when we start an isoc transfer, the > framenumber get from the event buffer may be already elasped, in this
Frame number? Else my spell checker trips. :-)
> case, we will get all the packets dropped due to miss isoc. And we turn
Remove the leading space, please.
> into transfer nothing, to fix this issue, we need to fix the framenumber > to make sure that it's not out of date. > > Signed-off-by: Liang Shengjun <liangshengjun@hisilicon.com> > Signed-off-by: Zeng Tao <prime.zeng@hisilicon.com> [...] > diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c > index 9f92ee0..b63bd72 100644 > --- a/drivers/usb/dwc3/gadget.c > +++ b/drivers/usb/dwc3/gadget.c > @@ -1263,6 +1263,15 @@ static int __dwc3_gadget_get_frame(struct dwc3 *dwc) > return DWC3_DSTS_SOFFN(reg); > } > > +static bool __dwc3_gadget_target_frame_elapsed(struct dwc3_ep *dep) > +{ > + u16 cframe = __dwc3_gadget_get_frame(dep->dwc); > + u16 eframe = dep->frame_number & DWC3_EVENT_PRAM_SOFFN_MASK; > + > + return (((eframe - cframe) & DWC3_EVENT_PRAM_SOFFN_MASK) > + > DWC3_EVENT_PRAM_MAX_SOFFN / 2);
Please leave > on the previous line. And you surely know that the outer parens are unnecessary? :-)
[...]
MBR, Sergei
| ![\](/images/icornerr.gif) |