usb: dwc3: ep0: prevent starting transfers twice on ep0
authorFelipe Balbi <balbi@ti.com>
Mon, 25 Jun 2012 16:30:49 +0000 (19:30 +0300)
committerFelipe Balbi <balbi@ti.com>
Mon, 25 Jun 2012 16:30:49 +0000 (19:30 +0300)
In case we try to start an invalid test mode, we
will call dwc3_ep0_stall_and_restart() but we will
also call dwc3_ep0_out_start() which will start
a second transfer on ep0.

Let's prevent any problems by returning early in
the error case.

Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/dwc3/ep0.c

index 9a8f26cef0a1b8100cb3e9e40b4c03dd64a50f3f..8244eb53082eaebe9d36c135cde0766621063abc 100644 (file)
@@ -744,6 +744,7 @@ static void dwc3_ep0_complete_status(struct dwc3 *dwc,
                        dev_dbg(dwc->dev, "Invalid Test #%d\n",
                                        dwc->test_mode_nr);
                        dwc3_ep0_stall_and_restart(dwc);
+                       return;
                }
        }