From: yangkai Date: Fri, 7 Dec 2012 07:40:42 +0000 (+0800) Subject: update actual transfer size for ep0 out X-Git-Tag: firefly_0821_release~8126 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=1237967028aac370ff440ded617b9fb09d883695;p=firefly-linux-kernel-4.4.55.git update actual transfer size for ep0 out --- 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;