From 5cf78f7b89528219501a186958d6e4acaa234767 Mon Sep 17 00:00:00 2001 From: wlf Date: Wed, 3 Sep 2014 20:00:50 +0800 Subject: [PATCH] USB: fix usb ep0 OUT setup bug. In ep0_complete_request, do setup in status phase in DMA mode for ep0-OUT. It can solve that usb RNDIS unable to connect with win7 or win8. --- drivers/usb/dwc_otg_310/dwc_otg_pcd_intr.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/drivers/usb/dwc_otg_310/dwc_otg_pcd_intr.c b/drivers/usb/dwc_otg_310/dwc_otg_pcd_intr.c index eb499643b9e8..cdb53717a8ce 100755 --- a/drivers/usb/dwc_otg_310/dwc_otg_pcd_intr.c +++ b/drivers/usb/dwc_otg_310/dwc_otg_pcd_intr.c @@ -2084,15 +2084,7 @@ static int32_t ep0_complete_request(dwc_otg_pcd_ep_t *ep) /* For older cores do setup in status phase in Slave/BDMA modes, * starting from 3.00 do that only in slave, and for DMA modes * just re-enable ep 0 OUT here*/ - if (core_if->dma_enable == 0 - || (core_if->dma_desc_enable == 0 - && core_if->snpsid <= OTG_CORE_REV_2_94a)) { - do_setup_in_status_phase(pcd); - } else if (core_if->snpsid >= OTG_CORE_REV_3_00a) { - DWC_DEBUGPL(DBG_PCDV, - "Enable out ep before in status phase\n"); - ep0_out_start(core_if, pcd); - } + do_setup_in_status_phase(pcd); } /* Complete the request */ -- 2.34.1