update actual transfer size for ep0 out

This commit is contained in:
yangkai
2012-12-07 15:40:42 +08:00
parent 12482de3aa
commit 1237967028

View File

@@ -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;