usb: dwc3: gadget: don't use resource_index as a flag
authorFelipe Balbi <felipe.balbi@linux.intel.com>
Mon, 21 Jan 2019 11:00:03 +0000 (13:00 +0200)
committerFelipe Balbi <felipe.balbi@linux.intel.com>
Mon, 4 Feb 2019 06:45:56 +0000 (08:45 +0200)
We have a proper flag for testing that we have a valid transfer in
flight, let's use that instead.

This patch is in preparation to fix a rare race condition that happens
upon Disconnect Interrupt.

Tested-by: Thinh Nguyen <thinhn@synopsys.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
drivers/usb/dwc3/gadget.c

index f9b4430..eaeea8f 100644 (file)
@@ -2626,8 +2626,8 @@ static void dwc3_stop_active_transfer(struct dwc3_ep *dep, bool force)
        u32 cmd;
        int ret;
 
-       if ((dep->flags & DWC3_EP_END_TRANSFER_PENDING) ||
-           !dep->resource_index)
+       if ((dep->flags & DWC3_EP_END_TRANSFER_PENDING)
+               || !(dep->flags & DWC3_EP_TRANSFER_STARTED))
                return;
 
        /*