]> rtime.felk.cvut.cz Git - zynq/linux.git/commitdiff
usb: dwc3: Check MISSED ISOC bit only for ISOC endpoints
authorAnurag Kumar Vulisha <anurag.kumar.vulisha@xilinx.com>
Tue, 8 Jan 2019 16:03:53 +0000 (21:33 +0530)
committerMichal Simek <michal.simek@xilinx.com>
Wed, 3 Apr 2019 08:31:15 +0000 (10:31 +0200)
When streaming is enabled on BULK endpoints and LST bit is set
observed MISSED ISOC bit set in event->status for BULK ep. Since
this bit is only valid for isocronous endpoints, changed the code
to check for isocrnous endpoints when MISSED ISOC bit is set.

Signed-off-by: Anurag Kumar Vulisha <anurag.kumar.vulisha@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
drivers/usb/dwc3/gadget.c

index d4e1c01f7b12ae037ed2fdd980d9e31f0311db46..ea8870b81eb618328b42e7b7b0255e8807bdaf89 100644 (file)
@@ -2481,7 +2481,8 @@ static void dwc3_gadget_endpoint_transfer_in_progress(struct dwc3_ep *dep,
        if (event->status & DEPEVT_STATUS_BUSERR)
                status = -ECONNRESET;
 
-       if (event->status & DEPEVT_STATUS_MISSED_ISOC) {
+       if ((event->status & DEPEVT_STATUS_MISSED_ISOC) &&
+           usb_endpoint_xfer_isoc(dep->endpoint.desc)) {
                status = -EXDEV;
 
                if (list_empty(&dep->started_list))