Skip to content

Commit

Permalink
usb: dwc3: ep0: giveback requests on stall_and_restart
Browse files Browse the repository at this point in the history
if we don't, the list will be busy forever.

Signed-off-by: Felipe Balbi <balbi@ti.com>
  • Loading branch information
Felipe Balbi committed Sep 9, 2011
1 parent bb7ea28 commit d742220
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions drivers/usb/dwc3/ep0.c
Original file line number Diff line number Diff line change
Expand Up @@ -214,9 +214,19 @@ int dwc3_gadget_ep0_queue(struct usb_ep *ep, struct usb_request *request,

static void dwc3_ep0_stall_and_restart(struct dwc3 *dwc)
{
struct dwc3_ep *dep = dwc->eps[0];

/* stall is always issued on EP0 */
__dwc3_gadget_ep_set_halt(dwc->eps[0], 1);
dwc->eps[0]->flags = DWC3_EP_ENABLED;

if (!list_empty(&dep->request_list)) {
struct dwc3_request *req;

req = next_request(&dep->request_list);
dwc3_gadget_giveback(dep, req, -ECONNRESET);
}

dwc->ep0state = EP0_SETUP_PHASE;
dwc3_ep0_out_start(dwc);
}
Expand Down

0 comments on commit d742220

Please sign in to comment.