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.

Signed-off-by: Felipe Balbi <felipe.ba...@linux.intel.com>
---
 drivers/usb/dwc3/gadget.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index a3903b8dc11e..f0320fcfdaf4 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -2619,8 +2619,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;
 
        /*
-- 
2.20.1

Reply via email to