On Sat, Aug 25, 2012 at 08:20:46AM +0530, Pratyush Anand wrote:
> On 8/24/2012 7:01 PM, Pratyush Anand wrote:
> >On 8/24/2012 5:10 PM, Pratyush ANAND wrote:
> >>If xfernotready is received and there is no request in request_list then
> >>PENDING flag must be set, so that next request in ep queue is executed.
> >>
> >
> >Although, I did not encounter PENDING in isoc testing. But, if somebody
> >hits it, then only this patch might not be sufficient. One might need
> >following along with it.
> >
> >diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
> >index 8d3b2d5..c08aa39 100644
> >--- a/drivers/usb/dwc3/gadget.c
> >+++ b/drivers/usb/dwc3/gadget.c
> >@@ -1104,6 +1104,16 @@ static int __dwc3_gadget_ep_queue(struct dwc3_ep
> >*dep, struct dwc3_request *req)
> > if (dep->flags & DWC3_EP_PENDING_REQUEST) {
> > int ret;
> >
> >+ /*
> >+ * If xfornotready is already elapsed and it is a case
> >+ * of isoc transfer, then issue END TRANSFER, so that
> >+ * you can receive xfernotready again and can have
> >+ * notion of current microframe.
> >+ */
> >+ if (usb_endpoint_xfer_isoc(dep->endpoint.desc)) {
> >+ dwc3_stop_active_transfer(dwc, dep->number);
> >+ return 0;
> >+ }
> > ret = __dwc3_gadget_kick_transfer(dep, 0, true);
> > if (ret && ret != -EBUSY) {
> > struct dwc3 *dwc = dep->dwc;
> >
> >
> >If you agree, then discard this patch only. I will send another one to
> >handle pending isoc request.
> >
>
> Discard 5/5. I will send another.All the others are fine then ? I'll start queueing once v3.6-rc4 is out. cheers -- balbi
signature.asc
Description: Digital signature
