/* Retire a pxa27x usb request. Endpoint must be locked.  */
static void req_done(struct pxa_ep *ep, struct pxa27x_request *req, int status)
/* Retire a pxa27x usb request. Endpoint must be locked.  */
static void req_done(struct pxa_ep *ep, struct pxa27x_request *req, int status)
{
	ep_del_request(ep, req);
	if (likely(req->req.status == -EINPROGRESS))
		req->req.status = status;
	else
		status = req->req.status;
	if (status && status != -ESHUTDOWN)
		ep_dbg(ep, "complete req %p stat %d len %u/%u\n",
			&req->req, status,
			req->req.actual, req->req.length);
	req->req.complete(&req->udc_usb_ep->usb_ep, &req->req);
}