From 1237967028aac370ff440ded617b9fb09d883695 Mon Sep 17 00:00:00 2001 From: yangkai Date: Fri, 7 Dec 2012 15:40:42 +0800 Subject: [PATCH] update actual transfer size for ep0 out --- drivers/usb/dwc_otg/dwc_otg_pcd_intr.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/usb/dwc_otg/dwc_otg_pcd_intr.c b/drivers/usb/dwc_otg/dwc_otg_pcd_intr.c index e514b558a7d7..5e1a7ccf4e6a 100755 --- a/drivers/usb/dwc_otg/dwc_otg_pcd_intr.c +++ b/drivers/usb/dwc_otg/dwc_otg_pcd_intr.c @@ -1804,6 +1804,7 @@ static void handle_ep0( dwc_otg_pcd_t *_pcd ) { dwc_otg_core_if_t *core_if = GET_CORE_IF(_pcd); dwc_otg_pcd_ep_t *ep0 = &_pcd->ep0; + deptsiz_data_t deptsiz; #ifdef DEBUG_EP0 DWC_DEBUGPL(DBG_PCDV, "%s()\n", __func__); @@ -1855,6 +1856,8 @@ static void handle_ep0( dwc_otg_pcd_t *_pcd ) ep0->dwc_ep.num, (ep0->dwc_ep.is_in ?"IN":"OUT"), ep0->dwc_ep.type, ep0->dwc_ep.maxpacket ); #endif + deptsiz.d32 = dwc_read_reg32( &core_if->dev_if->in_ep_regs[0]->dieptsiz); + ep0->dwc_ep.xfer_count = ep0->dwc_ep.xfer_len - deptsiz.b.xfersize; ep0_complete_request( ep0 ); break; -- 2.34.1