USB device unable to receive more than 64 bytes of data over VCOM

Hi,

I’m currently trying to send data to STM32F105RC (USB device) from my PC (USB Host). when i monitor the VCOM port from the PC, i can see all the data bytes are being sent to the device. However, the device is only able to receive the first 64 bytes.

the function called when the USB data is received at the device is as follows,

static uint8_t usbd_cdc_DataOut (void *pdev, uint8_t epnum)
{
uint16_t USB_Rx_Cnt;

/* Get the received data buffer and update the counter /
USB_Rx_Cnt = ((USB_OTG_CORE_HANDLE
)pdev)->dev.out_ep[epnum].xfer_count;

/* USB data will be immediately processed, this allow next USB traffic being
NAKed till the end of the application Xfer */
APP_FOPS.pIf_DataRx(USB_Rx_Buffer, USB_Rx_Cnt);

/* Prepare Out endpoint to receive next packet /
DCD_EP_PrepareRx(pdev,
CDC_OUT_EP,
(uint8_t
)(USB_Rx_Buffer),
CDC_DATA_OUT_PACKET_SIZE);
return USBD_OK;
}

USB_Rx_Cnt is 64 when the function exits !

According to the USB specifications, A bulk transfer is split into multiple packets of 64 bytes and this is handled by the driver itself. why am i not receiving the rest of the packets ?