Loading drivers/usb/dwc3/gadget.c +21 −16 Original line number Diff line number Diff line Loading @@ -265,9 +265,6 @@ void dwc3_gadget_giveback(struct dwc3_ep *dep, struct dwc3_request *req, 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, req->request.length, status); trace_dwc3_gadget_giveback(req); spin_unlock(&dwc->lock); Loading Loading @@ -985,8 +982,6 @@ static int __dwc3_gadget_kick_transfer(struct dwc3_ep *dep, u16 cmd_param, cmd |= DWC3_DEPCMD_PARAM(cmd_param); ret = dwc3_send_gadget_ep_cmd(dwc, dep->number, cmd, ¶ms); if (ret < 0) { dev_dbg(dwc->dev, "failed to send STARTTRANSFER command\n"); /* * FIXME we need to iterate over the list of requests * here and stop, unmap, free and del each of the linked Loading Loading @@ -1045,13 +1040,16 @@ static int __dwc3_gadget_ep_queue(struct dwc3_ep *dep, struct dwc3_request *req) int ret; if (!dep->endpoint.desc) { dev_dbg(dwc->dev, "trying to queue request %p to disabled %s\n", dwc3_trace(trace_dwc3_gadget, "trying to queue request %p to disabled %s\n", &req->request, dep->endpoint.name); return -ESHUTDOWN; } if (WARN(req->dep != dep, "request %p belongs to '%s'\n", &req->request, req->dep->name)) { dwc3_trace(trace_dwc3_gadget, "request %p belongs to '%s'\n", &req->request, req->dep->name); return -EINVAL; } Loading Loading @@ -1152,7 +1150,8 @@ static int __dwc3_gadget_ep_queue(struct dwc3_ep *dep, struct dwc3_request *req) out: if (ret && ret != -EBUSY) dev_dbg(dwc->dev, "%s: failed to kick transfers\n", dwc3_trace(trace_dwc3_gadget, "%s: failed to kick transfers\n", dep->name); if (ret == -EBUSY) ret = 0; Loading Loading @@ -1242,7 +1241,8 @@ int __dwc3_gadget_ep_set_halt(struct dwc3_ep *dep, int value, int protocol) if (!protocol && ((dep->direction && dep->flags & DWC3_EP_BUSY) || (!list_empty(&dep->req_queued) || !list_empty(&dep->request_list)))) { dev_dbg(dwc->dev, "%s: pending request, cannot halt\n", dwc3_trace(trace_dwc3_gadget, "%s: pending request, cannot halt\n", dep->name); return -EAGAIN; } Loading Loading @@ -1369,7 +1369,7 @@ static int dwc3_gadget_wakeup(struct usb_gadget *g) speed = reg & DWC3_DSTS_CONNECTSPD; if (speed == DWC3_DSTS_SUPERSPEED) { dev_dbg(dwc->dev, "no wakeup on SuperSpeed\n"); dwc3_trace(trace_dwc3_gadget, "no wakeup on SuperSpeed\n"); ret = -EINVAL; goto out; } Loading @@ -1381,8 +1381,9 @@ static int dwc3_gadget_wakeup(struct usb_gadget *g) case DWC3_LINK_STATE_U3: /* in HS, means SUSPEND */ break; default: dev_dbg(dwc->dev, "can't wakeup from link state %d\n", link_state); dwc3_trace(trace_dwc3_gadget, "can't wakeup from '%s'\n", dwc3_gadget_link_string(link_state)); ret = -EINVAL; goto out; } Loading Loading @@ -1821,7 +1822,8 @@ static int __dwc3_cleanup_done_trbs(struct dwc3 *dwc, struct dwc3_ep *dep, if (count) { trb_status = DWC3_TRB_SIZE_TRBSTS(trb->size); if (trb_status == DWC3_TRBSTS_MISSED_ISOC) { dev_dbg(dwc->dev, "incomplete IN transfer %s\n", dwc3_trace(trace_dwc3_gadget, "%s: incomplete IN transfer\n", dep->name); /* * If missed isoc occurred and there is Loading Loading @@ -2000,7 +2002,8 @@ static void dwc3_endpoint_interrupt(struct dwc3 *dwc, dep->resource_index = 0; if (usb_endpoint_xfer_isoc(dep->endpoint.desc)) { dev_dbg(dwc->dev, "%s is an Isochronous endpoint\n", dwc3_trace(trace_dwc3_gadget, "%s is an Isochronous endpoint\n", dep->name); return; } Loading @@ -2027,7 +2030,8 @@ static void dwc3_endpoint_interrupt(struct dwc3 *dwc, if (!ret || ret == -EBUSY) return; dev_dbg(dwc->dev, "%s: failed to kick transfers\n", dwc3_trace(trace_dwc3_gadget, "%s: failed to kick transfers\n", dep->name); } Loading @@ -2049,11 +2053,12 @@ static void dwc3_endpoint_interrupt(struct dwc3 *dwc, case DEPEVT_STREAMEVT_NOTFOUND: /* FALLTHROUGH */ default: dev_dbg(dwc->dev, "Couldn't find suitable stream\n"); dwc3_trace(trace_dwc3_gadget, "unable to find suitable stream\n"); } break; case DWC3_DEPEVT_RXTXFIFOEVT: dev_dbg(dwc->dev, "%s FIFO Overrun\n", dep->name); dwc3_trace(trace_dwc3_gadget, "%s FIFO Overrun\n", dep->name); break; case DWC3_DEPEVT_EPCMDCMPLT: dwc3_trace(trace_dwc3_gadget, "Endpoint Command Complete"); Loading Loading
drivers/usb/dwc3/gadget.c +21 −16 Original line number Diff line number Diff line Loading @@ -265,9 +265,6 @@ void dwc3_gadget_giveback(struct dwc3_ep *dep, struct dwc3_request *req, 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, req->request.length, status); trace_dwc3_gadget_giveback(req); spin_unlock(&dwc->lock); Loading Loading @@ -985,8 +982,6 @@ static int __dwc3_gadget_kick_transfer(struct dwc3_ep *dep, u16 cmd_param, cmd |= DWC3_DEPCMD_PARAM(cmd_param); ret = dwc3_send_gadget_ep_cmd(dwc, dep->number, cmd, ¶ms); if (ret < 0) { dev_dbg(dwc->dev, "failed to send STARTTRANSFER command\n"); /* * FIXME we need to iterate over the list of requests * here and stop, unmap, free and del each of the linked Loading Loading @@ -1045,13 +1040,16 @@ static int __dwc3_gadget_ep_queue(struct dwc3_ep *dep, struct dwc3_request *req) int ret; if (!dep->endpoint.desc) { dev_dbg(dwc->dev, "trying to queue request %p to disabled %s\n", dwc3_trace(trace_dwc3_gadget, "trying to queue request %p to disabled %s\n", &req->request, dep->endpoint.name); return -ESHUTDOWN; } if (WARN(req->dep != dep, "request %p belongs to '%s'\n", &req->request, req->dep->name)) { dwc3_trace(trace_dwc3_gadget, "request %p belongs to '%s'\n", &req->request, req->dep->name); return -EINVAL; } Loading Loading @@ -1152,7 +1150,8 @@ static int __dwc3_gadget_ep_queue(struct dwc3_ep *dep, struct dwc3_request *req) out: if (ret && ret != -EBUSY) dev_dbg(dwc->dev, "%s: failed to kick transfers\n", dwc3_trace(trace_dwc3_gadget, "%s: failed to kick transfers\n", dep->name); if (ret == -EBUSY) ret = 0; Loading Loading @@ -1242,7 +1241,8 @@ int __dwc3_gadget_ep_set_halt(struct dwc3_ep *dep, int value, int protocol) if (!protocol && ((dep->direction && dep->flags & DWC3_EP_BUSY) || (!list_empty(&dep->req_queued) || !list_empty(&dep->request_list)))) { dev_dbg(dwc->dev, "%s: pending request, cannot halt\n", dwc3_trace(trace_dwc3_gadget, "%s: pending request, cannot halt\n", dep->name); return -EAGAIN; } Loading Loading @@ -1369,7 +1369,7 @@ static int dwc3_gadget_wakeup(struct usb_gadget *g) speed = reg & DWC3_DSTS_CONNECTSPD; if (speed == DWC3_DSTS_SUPERSPEED) { dev_dbg(dwc->dev, "no wakeup on SuperSpeed\n"); dwc3_trace(trace_dwc3_gadget, "no wakeup on SuperSpeed\n"); ret = -EINVAL; goto out; } Loading @@ -1381,8 +1381,9 @@ static int dwc3_gadget_wakeup(struct usb_gadget *g) case DWC3_LINK_STATE_U3: /* in HS, means SUSPEND */ break; default: dev_dbg(dwc->dev, "can't wakeup from link state %d\n", link_state); dwc3_trace(trace_dwc3_gadget, "can't wakeup from '%s'\n", dwc3_gadget_link_string(link_state)); ret = -EINVAL; goto out; } Loading Loading @@ -1821,7 +1822,8 @@ static int __dwc3_cleanup_done_trbs(struct dwc3 *dwc, struct dwc3_ep *dep, if (count) { trb_status = DWC3_TRB_SIZE_TRBSTS(trb->size); if (trb_status == DWC3_TRBSTS_MISSED_ISOC) { dev_dbg(dwc->dev, "incomplete IN transfer %s\n", dwc3_trace(trace_dwc3_gadget, "%s: incomplete IN transfer\n", dep->name); /* * If missed isoc occurred and there is Loading Loading @@ -2000,7 +2002,8 @@ static void dwc3_endpoint_interrupt(struct dwc3 *dwc, dep->resource_index = 0; if (usb_endpoint_xfer_isoc(dep->endpoint.desc)) { dev_dbg(dwc->dev, "%s is an Isochronous endpoint\n", dwc3_trace(trace_dwc3_gadget, "%s is an Isochronous endpoint\n", dep->name); return; } Loading @@ -2027,7 +2030,8 @@ static void dwc3_endpoint_interrupt(struct dwc3 *dwc, if (!ret || ret == -EBUSY) return; dev_dbg(dwc->dev, "%s: failed to kick transfers\n", dwc3_trace(trace_dwc3_gadget, "%s: failed to kick transfers\n", dep->name); } Loading @@ -2049,11 +2053,12 @@ static void dwc3_endpoint_interrupt(struct dwc3 *dwc, case DEPEVT_STREAMEVT_NOTFOUND: /* FALLTHROUGH */ default: dev_dbg(dwc->dev, "Couldn't find suitable stream\n"); dwc3_trace(trace_dwc3_gadget, "unable to find suitable stream\n"); } break; case DWC3_DEPEVT_RXTXFIFOEVT: dev_dbg(dwc->dev, "%s FIFO Overrun\n", dep->name); dwc3_trace(trace_dwc3_gadget, "%s FIFO Overrun\n", dep->name); break; case DWC3_DEPEVT_EPCMDCMPLT: dwc3_trace(trace_dwc3_gadget, "Endpoint Command Complete"); Loading