Loading drivers/usb/dwc3/gadget.c +8 −22 Original line number Diff line number Diff line Loading @@ -1232,20 +1232,6 @@ static int __dwc3_gadget_ep_queue(struct dwc3_ep *dep, struct dwc3_request *req) list_add_tail(&req->list, &dep->request_list); /* * If there are no pending requests and the endpoint isn't already * busy, we will just start the request straight away. * * This will save one IRQ (XFER_NOT_READY) and possibly make it a * little bit faster. */ if (!usb_endpoint_xfer_isoc(dep->endpoint.desc) && !usb_endpoint_xfer_int(dep->endpoint.desc) && !(dep->flags & DWC3_EP_BUSY)) { ret = __dwc3_gadget_kick_transfer(dep, 0, true); goto out; } /* * There are a few special cases: * Loading Loading @@ -2529,14 +2515,6 @@ static void dwc3_endpoint_transfer_complete(struct dwc3 *dwc, dwc->u1u2 = 0; } if (!usb_endpoint_xfer_isoc(dep->endpoint.desc)) { int ret; ret = __dwc3_gadget_kick_transfer(dep, 0, is_xfer_complete); if (!ret || ret == -EBUSY) return; } } static void dwc3_endpoint_interrupt(struct dwc3 *dwc, Loading Loading @@ -2593,6 +2571,14 @@ static void dwc3_endpoint_interrupt(struct dwc3 *dwc, ? "Transfer Active" : "Transfer Not Active"); /* * If XFERNOTREADY interrupt is received with event * status as TRANSFER ACTIVE, don't kick next transfer. * otherwise data stall is seen on that endpoint. */ if (event->status & DEPEVT_STATUS_TRANSFER_ACTIVE) return; ret = __dwc3_gadget_kick_transfer(dep, 0, 1); if (!ret || ret == -EBUSY) return; Loading Loading
drivers/usb/dwc3/gadget.c +8 −22 Original line number Diff line number Diff line Loading @@ -1232,20 +1232,6 @@ static int __dwc3_gadget_ep_queue(struct dwc3_ep *dep, struct dwc3_request *req) list_add_tail(&req->list, &dep->request_list); /* * If there are no pending requests and the endpoint isn't already * busy, we will just start the request straight away. * * This will save one IRQ (XFER_NOT_READY) and possibly make it a * little bit faster. */ if (!usb_endpoint_xfer_isoc(dep->endpoint.desc) && !usb_endpoint_xfer_int(dep->endpoint.desc) && !(dep->flags & DWC3_EP_BUSY)) { ret = __dwc3_gadget_kick_transfer(dep, 0, true); goto out; } /* * There are a few special cases: * Loading Loading @@ -2529,14 +2515,6 @@ static void dwc3_endpoint_transfer_complete(struct dwc3 *dwc, dwc->u1u2 = 0; } if (!usb_endpoint_xfer_isoc(dep->endpoint.desc)) { int ret; ret = __dwc3_gadget_kick_transfer(dep, 0, is_xfer_complete); if (!ret || ret == -EBUSY) return; } } static void dwc3_endpoint_interrupt(struct dwc3 *dwc, Loading Loading @@ -2593,6 +2571,14 @@ static void dwc3_endpoint_interrupt(struct dwc3 *dwc, ? "Transfer Active" : "Transfer Not Active"); /* * If XFERNOTREADY interrupt is received with event * status as TRANSFER ACTIVE, don't kick next transfer. * otherwise data stall is seen on that endpoint. */ if (event->status & DEPEVT_STATUS_TRANSFER_ACTIVE) return; ret = __dwc3_gadget_kick_transfer(dep, 0, 1); if (!ret || ret == -EBUSY) return; Loading