Hi Minus: >-----Original Message----- >From: Minas Harutyunyan [mailto:Minas.Harutyunyan@xxxxxxxxxxxx] >Sent: Wednesday, May 30, 2018 3:17 PM >To: Zengtao (B) <prime.zeng@xxxxxxxxxxxxx>; >Minas.Harutyunyan@xxxxxxxxxxxx >Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>; >linux-usb@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx >Subject: Re: [PATCH] usb: dwc2: gadget: fix missing process for isoc >descriptor dma mode > >Hi Zeng Tao, > >On 5/30/2018 9:09 AM, Zeng Tao wrote: >> If it's the first request to queue, and we are using descriptor dma >> mode for isoc transfer, we only need to add the request to the queue, >> and it will be processed in the future nak interrupt handler. >> >> Signed-off-by: Zeng Tao <prime.zeng@xxxxxxxxxxxxx> >> --- >> drivers/usb/dwc2/gadget.c | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/drivers/usb/dwc2/gadget.c b/drivers/usb/dwc2/gadget.c >> index f0d9ccf..48e3a48c 100644 >> --- a/drivers/usb/dwc2/gadget.c >> +++ b/drivers/usb/dwc2/gadget.c >> @@ -1365,6 +1365,9 @@ static int dwc2_hsotg_ep_queue(struct >usb_ep *ep, struct usb_request *req, >> return 0; >> } >> >> + if (using_desc_dma(hs)) >> + return 0; >> + >> /* Update current frame number value. */ >> hs->frame_number = dwc2_hsotg_read_frameno(hs); >> while (dwc2_gadget_target_frame_elapsed(hs_ep)) { >> > >Actually it considered in "[PATCH] usb: dwc2: Change ISOC DDMA flow" >before checking is this request first or no: Yes, it,s. Thank you for pointing it out. > >+ if (using_desc_dma(hs) && hs_ep->isochronous) { >+ if (hs_ep->target_frame != TARGET_FRAME_INITIAL) { >+ dwc2_gadget_fill_isoc_desc(hs_ep, hs_req->req.dma, >+ hs_req->req.length); >+ } > return 0; > } > > >Thanks, >Minas Regards Zengtao ��.n��������+%������w��{.n�����{���)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥