OSDN Git Service

dwc3: gadget: Avoid processing of trb if HWO bit is set
authorMayank Rana <mrana@codeaurora.org>
Sun, 28 Jun 2015 01:39:18 +0000 (18:39 -0700)
committerDavid Keitel <dkeitel@codeaurora.org>
Tue, 22 Mar 2016 18:06:54 +0000 (11:06 -0700)
HWO bit signifies that TRB is still pending with hardware. Hence
avoid processing of TRB if HWO bit is set.

Change-Id: I6d4068eb9e6934f68e7b6204cac8f6f3266dabf4
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
drivers/usb/dwc3/gadget.c

index 99bcfe2..41b79a6 100644 (file)
@@ -2157,6 +2157,11 @@ static int dwc3_cleanup_done_reqs(struct dwc3 *dwc, struct dwc3_ep *dep,
                                dep->name, event->status);
                        return 1;
                }
+
+               /* Make sure that not to queue any TRB if HWO bit is set. */
+               if (req->trb->ctrl & DWC3_TRB_CTRL_HWO)
+                       return 0;
+
                i = 0;
                do {
                        slot = req->start_slot + i;