|
@@ -191,14 +191,16 @@ void dwc3_gadget_giveback(struct dwc3_ep *dep, struct dwc3_request *req,
|
|
|
|
|
|
req->started = false;
|
|
|
list_del(&req->list);
|
|
|
- req->trb = NULL;
|
|
|
req->remaining = 0;
|
|
|
|
|
|
if (req->request.status == -EINPROGRESS)
|
|
|
req->request.status = status;
|
|
|
|
|
|
- usb_gadget_unmap_request_by_dev(dwc->sysdev,
|
|
|
- &req->request, req->direction);
|
|
|
+ if (req->trb)
|
|
|
+ usb_gadget_unmap_request_by_dev(dwc->sysdev,
|
|
|
+ &req->request, req->direction);
|
|
|
+
|
|
|
+ req->trb = NULL;
|
|
|
|
|
|
trace_dwc3_gadget_giveback(req);
|
|
|
|