From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Warren Date: Thu, 27 Aug 2015 10:06:14 -0600 Subject: [U-Boot] [PATCH] usb: gadget: ci_udc: implement usb_ep_ops dequeue callback In-Reply-To: <201508271308.46472.marex@denx.de> References: <1440673250-17589-1-git-send-email-Peng.Fan@freescale.com> <201508271308.46472.marex@denx.de> Message-ID: <55DF3576.5030308@wwwdotorg.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 08/27/2015 05:08 AM, Marek Vasut wrote: > On Thursday, August 27, 2015 at 01:00:50 PM, Peng Fan wrote: >> Implement endpoint dequeue callback function. >> >> Without this function, uboot will hang when executing fastboot comamnd. >> See following flow: >> "fastboot_tx_write_str->fastboot_tx_write->usb_ep_dequeue->ep->ops->dequeue >> " without implement ci_udc dequeue function, ep->ops->dequeue is NULL, then >> uboot will hang. >> >> Tested on mx6qsabresd board with fastboot enabled. >> diff --git a/drivers/usb/gadget/ci_udc.c b/drivers/usb/gadget/ci_udc.c >> +static int ci_ep_dequeue(struct usb_ep *_ep, struct usb_request *_req) >> + if (ci_req->req.status == -EINPROGRESS) { >> + ci_req->req.status = -ECONNRESET; >> + if (ci_req->req.complete) >> + ci_req->req.complete(_ep, _req); >> + } Is there no need to reprogram the HW to abort the transfer?