@@ -89,6 +89,7 @@ static int8_t SCSI_StartStopUnit(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t
8989static int8_t SCSI_AllowMediumRemoval (USBD_HandleTypeDef * pdev , uint8_t lun , uint8_t * params );
9090static int8_t SCSI_ModeSense6 (USBD_HandleTypeDef * pdev , uint8_t lun , uint8_t * params );
9191static int8_t SCSI_ModeSense10 (USBD_HandleTypeDef * pdev , uint8_t lun , uint8_t * params );
92+ static int8_t SCSI_SynchronizeCache (USBD_HandleTypeDef * pdev , uint8_t lun , uint8_t * params );
9293static int8_t SCSI_Write10 (USBD_HandleTypeDef * pdev , uint8_t lun , uint8_t * params );
9394static int8_t SCSI_Read10 (USBD_HandleTypeDef * pdev , uint8_t lun , uint8_t * params );
9495static int8_t SCSI_Verify10 (USBD_HandleTypeDef * pdev , uint8_t lun , uint8_t * params );
@@ -151,6 +152,10 @@ int8_t SCSI_ProcessCmd(USBD_HandleTypeDef *pdev,
151152 case SCSI_MODE_SENSE10 :
152153 return SCSI_ModeSense10 (pdev , lun , params );
153154
155+ case SCSI_SYNCHRONIZE_CACHE10 :
156+ case SCSI_SYNCHRONIZE_CACHE16 :
157+ return SCSI_SynchronizeCache (pdev , lun , params );
158+
154159 case SCSI_READ_FORMAT_CAPACITIES :
155160 return SCSI_ReadFormatCapacity (pdev , lun , params );
156161
@@ -374,6 +379,13 @@ static int8_t SCSI_ModeSense10 (USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t
374379 return 0 ;
375380}
376381
382+ static int8_t SCSI_SynchronizeCache (USBD_HandleTypeDef * pdev , uint8_t lun , uint8_t * params ) {
383+ // nothing to synchronize, so just return "success"
384+ USBD_MSC_BOT_HandleTypeDef * hmsc = pdev -> pClassData ;
385+ hmsc -> bot_data_length = 0 ;
386+ return 0 ;
387+ }
388+
377389/**
378390* @brief SCSI_RequestSense
379391* Process Request Sense command
0 commit comments