|
@@ -2012,15 +2012,16 @@ static void dwc3_endpoint_interrupt(struct dwc3 *dwc,
|
|
|
if (usb_endpoint_xfer_isoc(dep->endpoint.desc)) {
|
|
|
dwc3_gadget_start_isoc(dwc, dep, event);
|
|
|
} else {
|
|
|
+ int active;
|
|
|
int ret;
|
|
|
|
|
|
+ active = event->status & DEPEVT_STATUS_TRANSFER_ACTIVE;
|
|
|
+
|
|
|
dwc3_trace(trace_dwc3_gadget, "%s: reason %s",
|
|
|
- dep->name, event->status &
|
|
|
- DEPEVT_STATUS_TRANSFER_ACTIVE
|
|
|
- ? "Transfer Active"
|
|
|
+ dep->name, active ? "Transfer Active"
|
|
|
: "Transfer Not Active");
|
|
|
|
|
|
- ret = __dwc3_gadget_kick_transfer(dep, 0, 1);
|
|
|
+ ret = __dwc3_gadget_kick_transfer(dep, 0, !active);
|
|
|
if (!ret || ret == -EBUSY)
|
|
|
return;
|
|
|
|