X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/199cf8f1830ef1a8db14d311d6bfff26b82ef623..eefbf632d6bdfdee942d3334fea6e7a96e092dde:/Bootloaders/MassStorage/Lib/SCSI.c diff --git a/Bootloaders/MassStorage/Lib/SCSI.c b/Bootloaders/MassStorage/Lib/SCSI.c index ea0700a27..eeb2c252a 100644 --- a/Bootloaders/MassStorage/Lib/SCSI.c +++ b/Bootloaders/MassStorage/Lib/SCSI.c @@ -255,10 +255,13 @@ static bool SCSI_Command_ReadWrite_10(USB_ClassInfo_MS_Device_t* const MSInterfa } /* Determine if the packet is a READ (10) or WRITE (10) command, call appropriate function */ - if (IsDataRead == DATA_READ) - VirtualFAT_ReadBlocks(BlockAddress, TotalBlocks); - else - VirtualFAT_WriteBlocks(BlockAddress, TotalBlocks); + for (uint16_t i = 0; i < TotalBlocks; i++) + { + if (IsDataRead == DATA_READ) + VirtualFAT_ReadBlock(BlockAddress + i); + else + VirtualFAT_WriteBlock(BlockAddress + i); + } /* Update the bytes transferred counter and succeed the command */ MSInterfaceInfo->State.CommandBlock.DataTransferLength -= ((uint32_t)TotalBlocks * SECTOR_SIZE_BYTES);