|
@@ -263,8 +263,11 @@ void dwc3_gadget_giveback(struct dwc3_ep *dep, struct dwc3_request *req,
|
|
|
if (req->request.status == -EINPROGRESS)
|
|
|
req->request.status = status;
|
|
|
|
|
|
- usb_gadget_unmap_request(&dwc->gadget, &req->request,
|
|
|
- req->direction);
|
|
|
+ if (dwc->ep0_bounced && dep->number == 0)
|
|
|
+ dwc->ep0_bounced = false;
|
|
|
+ else
|
|
|
+ usb_gadget_unmap_request(&dwc->gadget, &req->request,
|
|
|
+ req->direction);
|
|
|
|
|
|
dev_dbg(dwc->dev, "request %p from %s completed %d/%d ===> %d\n",
|
|
|
req, dep->name, req->request.actual,
|