/* USB Device Perform Data IN Transfer Parameters: None Return Value: None  */
void USBD_MSC_DataInTransfer(void)
/* USB Device Perform Data IN Transfer Parameters: None Return Value: None  */
void USBD_MSC_DataInTransfer(void)
{
    if (BulkLen >= USBD_MSC_CBW.dDataLength) {
        BulkLen = USBD_MSC_CBW.dDataLength;
        BulkStage = MSC_BS_DATA_IN_LAST;
    } else {
        BulkStage = MSC_BS_DATA_IN_LAST_STALL;
    }
    USBD_WriteEP(usbd_msc_ep_bulkin | 0x80, USBD_MSC_BulkBuf, BulkLen);
    USBD_MSC_CSW.dDataResidue -= BulkLen;
    USBD_MSC_CSW.bStatus = CSW_CMD_PASSED;
}