From f25cf35634650dabc9fdd493eb563f2c88299b3e Mon Sep 17 00:00:00 2001 From: hathach Date: Tue, 8 May 2018 16:30:07 +0700 Subject: [PATCH] fix msc device driver logic --- tinyusb/class/msc/msc_device.c | 4 ++-- tinyusb/class/msc/msc_device.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tinyusb/class/msc/msc_device.c b/tinyusb/class/msc/msc_device.c index ac1ee8bc0..267fa9e1e 100644 --- a/tinyusb/class/msc/msc_device.c +++ b/tinyusb/class/msc/msc_device.c @@ -211,7 +211,7 @@ tusb_error_t mscd_xfer_cb(uint8_t rhport, uint8_t ep_addr, tusb_event_t event, u } else { - p_msc->data_len = tud_msc_scsi_cb(rhport, p_cbw->lun, p_cbw->command, _mscd_buf, &p_msc->data_len); + p_msc->data_len = tud_msc_scsi_cb(rhport, p_cbw->lun, p_cbw->command, _mscd_buf, p_msc->data_len); p_csw->status = (p_msc->data_len >= 0) ? MSC_CSW_STATUS_PASSED : MSC_CSW_STATUS_FAILED; TU_ASSERT( p_cbw->xfer_bytes >= p_msc->data_len, TUSB_ERROR_INVALID_PARA ); // cannot return more than host expect @@ -329,7 +329,7 @@ static void proc_read10_write10(uint8_t rhport, mscd_interface_t* p_msc) // Write10 callback will be called later when usb transfer complete if (SCSI_CMD_READ_10 == p_cbw->command[0]) { - int32_t rd_cnt = tud_msc_read10_cb (rhport, p_cbw->lun, lba, p_msc->xferred_len, _mscd_buf, (uint32_t) xfer_bytes); + xfer_bytes = tud_msc_read10_cb (rhport, p_cbw->lun, lba, p_msc->xferred_len, _mscd_buf, (uint32_t) xfer_bytes); } if ( xfer_bytes < 0 ) diff --git a/tinyusb/class/msc/msc_device.h b/tinyusb/class/msc/msc_device.h index e34d591f2..104e46414 100644 --- a/tinyusb/class/msc/msc_device.h +++ b/tinyusb/class/msc/msc_device.h @@ -127,12 +127,12 @@ int32_t tud_msc_write10_cb (uint8_t rhport, uint8_t lun, uint32_t lba, uint32_t * endpoint and return failed status in command status wrapper phase. * \retval otherwise Actual bytes processed, must not be more than \a \b bufsize. Can be zero for no-data command. */ -int32_t tud_msc_scsi_cb (uint8_t rhport, uint8_t lun, uint8_t scsi_cmd[16], void* buffer, uint16_t bufsize); +int32_t tud_msc_scsi_cb (uint8_t rhport, uint8_t lun, uint8_t const scsi_cmd[16], void* buffer, uint16_t bufsize); /*------------- Optional callbacks : Could be used by application to free up resources -------------*/ ATTR_WEAK void tud_msc_read10_complete_cb(uint8_t rhport, uint8_t lun); ATTR_WEAK void tud_msc_write10_complete_cb(uint8_t rhport, uint8_t lun); -ATTR_WEAK void tud_msc_scsi_complete_cb(uint8_t rhport, uint8_t lun, uint8_t scsi_cmd[16]); +ATTR_WEAK void tud_msc_scsi_complete_cb(uint8_t rhport, uint8_t lun, uint8_t const scsi_cmd[16]); /** @} */ /** @} */