|
@@ -527,7 +527,7 @@ static int dwc3_gadget_set_ep_config(struct dwc3 *dwc, struct dwc3_ep *dep,
|
|
dep->stream_capable = true;
|
|
dep->stream_capable = true;
|
|
}
|
|
}
|
|
|
|
|
|
- if (usb_endpoint_xfer_isoc(desc))
|
|
|
|
|
|
+ if (!usb_endpoint_xfer_control(desc))
|
|
params.param1 |= DWC3_DEPCFG_XFER_IN_PROGRESS_EN;
|
|
params.param1 |= DWC3_DEPCFG_XFER_IN_PROGRESS_EN;
|
|
|
|
|
|
/*
|
|
/*
|
|
@@ -1225,16 +1225,17 @@ static int dwc3_gadget_ep_queue(struct usb_ep *ep, struct usb_request *request,
|
|
|
|
|
|
int ret;
|
|
int ret;
|
|
|
|
|
|
|
|
+ spin_lock_irqsave(&dwc->lock, flags);
|
|
if (!dep->endpoint.desc) {
|
|
if (!dep->endpoint.desc) {
|
|
dev_dbg(dwc->dev, "trying to queue request %p to disabled %s\n",
|
|
dev_dbg(dwc->dev, "trying to queue request %p to disabled %s\n",
|
|
request, ep->name);
|
|
request, ep->name);
|
|
|
|
+ spin_unlock_irqrestore(&dwc->lock, flags);
|
|
return -ESHUTDOWN;
|
|
return -ESHUTDOWN;
|
|
}
|
|
}
|
|
|
|
|
|
dev_vdbg(dwc->dev, "queing request %p to %s length %d\n",
|
|
dev_vdbg(dwc->dev, "queing request %p to %s length %d\n",
|
|
request, ep->name, request->length);
|
|
request, ep->name, request->length);
|
|
|
|
|
|
- spin_lock_irqsave(&dwc->lock, flags);
|
|
|
|
ret = __dwc3_gadget_ep_queue(dep, req);
|
|
ret = __dwc3_gadget_ep_queue(dep, req);
|
|
spin_unlock_irqrestore(&dwc->lock, flags);
|
|
spin_unlock_irqrestore(&dwc->lock, flags);
|
|
|
|
|
|
@@ -2041,12 +2042,6 @@ static void dwc3_endpoint_interrupt(struct dwc3 *dwc,
|
|
dwc3_endpoint_transfer_complete(dwc, dep, event);
|
|
dwc3_endpoint_transfer_complete(dwc, dep, event);
|
|
break;
|
|
break;
|
|
case DWC3_DEPEVT_XFERINPROGRESS:
|
|
case DWC3_DEPEVT_XFERINPROGRESS:
|
|
- if (!usb_endpoint_xfer_isoc(dep->endpoint.desc)) {
|
|
|
|
- dev_dbg(dwc->dev, "%s is not an Isochronous endpoint\n",
|
|
|
|
- dep->name);
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
dwc3_endpoint_transfer_complete(dwc, dep, event);
|
|
dwc3_endpoint_transfer_complete(dwc, dep, event);
|
|
break;
|
|
break;
|
|
case DWC3_DEPEVT_XFERNOTREADY:
|
|
case DWC3_DEPEVT_XFERNOTREADY:
|